stefanp-ibm wrote:
> You'll have to create an RFC on discourse if you want to add a new
> target-independent memory intrinsic.
>
> Though if changing the name is the extent of the "special handling" you need,
> we probably shouldn't be adding an intrinsic for that.
We will want to add more ha
https://github.com/stefanp-ibm created
https://github.com/llvm/llvm-project/pull/118178
In the backend we want to provide special handling for the function memcmp.
This patch adds an intrinsic so that the backend will recognize it as more than
just a regular function call.
This patch also add
https://github.com/stefanp-ibm approved this pull request.
LGTM
Only one minor nit.
https://github.com/llvm/llvm-project/pull/79252
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -4,6 +4,9 @@
; RUN: < %s 2>&1 | FileCheck %s --check-prefix=CHECK-NOT-SUPPORTED
; RUN: not llc -mtriple powerpc64le-unknown-linux-gnu -ppc-asm-full-reg-names \
; RUN: < %s 2>&1 | FileCheck %s --check-prefix=CHECK-NOT-SUPPORTED
+; RUN: not llc -mtriple powerpc64-ibm-aix-x
https://github.com/stefanp-ibm edited
https://github.com/llvm/llvm-project/pull/79252
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -288,9 +288,9 @@ def SPEFSCR: SPR<512, "spefscr">, DwarfRegNum<[612, 112]>;
def XER: SPR<1, "xer">, DwarfRegNum<[76]>;
-// Carry bit. In the architecture this is really bit 0 of the XER register
-// (which really is SPR register 1); this is the only bit interesting to a
@@ -782,6 +782,8 @@ ArrayRef PPCTargetInfo::getGCCRegNames()
const {
const TargetInfo::GCCRegAlias PPCTargetInfo::GCCRegAliases[] = {
// While some of these aliases do map to different registers
// they still share the same register name.
+// Strictly speaking, "ca
https://github.com/stefanp-ibm closed
https://github.com/llvm/llvm-project/pull/70255
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/stefanp-ibm updated
https://github.com/llvm/llvm-project/pull/70255
>From e71fb230f831dc2e53a2e20672fb9634098c5881 Mon Sep 17 00:00:00 2001
From: Stefan Pintilie
Date: Wed, 25 Oct 2023 15:21:11 -0500
Subject: [PATCH 1/8] [PowerPC] Add an alias for -mregnames so that full
reg
https://github.com/stefanp-ibm updated
https://github.com/llvm/llvm-project/pull/70255
>From b09304032b13927bfa9e1920313ba1193cfd53ad Mon Sep 17 00:00:00 2001
From: Stefan Pintilie
Date: Wed, 25 Oct 2023 15:21:11 -0500
Subject: [PATCH 1/8] [PowerPC] Add an alias for -mregnames so that full
reg
https://github.com/stefanp-ibm updated
https://github.com/llvm/llvm-project/pull/70255
>From b09304032b13927bfa9e1920313ba1193cfd53ad Mon Sep 17 00:00:00 2001
From: Stefan Pintilie
Date: Wed, 25 Oct 2023 15:21:11 -0500
Subject: [PATCH 1/7] [PowerPC] Add an alias for -mregnames so that full
reg
https://github.com/stefanp-ibm updated
https://github.com/llvm/llvm-project/pull/70255
>From c57979d3d86362df239d3d3ff8cda124d40bb79d Mon Sep 17 00:00:00 2001
From: Stefan Pintilie
Date: Wed, 25 Oct 2023 15:21:11 -0500
Subject: [PATCH 1/6] [PowerPC] Add an alias for -mregnames so that full
reg
https://github.com/stefanp-ibm updated
https://github.com/llvm/llvm-project/pull/70255
>From c57979d3d86362df239d3d3ff8cda124d40bb79d Mon Sep 17 00:00:00 2001
From: Stefan Pintilie
Date: Wed, 25 Oct 2023 15:21:11 -0500
Subject: [PATCH 1/5] [PowerPC] Add an alias for -mregnames so that full
reg
https://github.com/stefanp-ibm updated
https://github.com/llvm/llvm-project/pull/70255
>From c57979d3d86362df239d3d3ff8cda124d40bb79d Mon Sep 17 00:00:00 2001
From: Stefan Pintilie
Date: Wed, 25 Oct 2023 15:21:11 -0500
Subject: [PATCH 1/4] [PowerPC] Add an alias for -mregnames so that full
reg
https://github.com/stefanp-ibm updated
https://github.com/llvm/llvm-project/pull/70255
>From c57979d3d86362df239d3d3ff8cda124d40bb79d Mon Sep 17 00:00:00 2001
From: Stefan Pintilie
Date: Wed, 25 Oct 2023 15:21:11 -0500
Subject: [PATCH 1/3] [PowerPC] Add an alias for -mregnames so that full
reg
@@ -80,6 +80,7 @@ class LLVM_LIBRARY_VISIBILITY PPCTargetInfo : public
TargetInfo {
bool IsISA3_0 = false;
bool IsISA3_1 = false;
bool HasQuadwordAtomics = false;
+ bool FullRegisterNames = false;
stefanp-ibm wrote:
I did take a look at trying to do it
https://github.com/stefanp-ibm updated
https://github.com/llvm/llvm-project/pull/70255
>From a561647c59119eb8da82e0468d9158e674102904 Mon Sep 17 00:00:00 2001
From: Stefan Pintilie
Date: Wed, 25 Oct 2023 15:21:11 -0500
Subject: [PATCH 1/2] [PowerPC] Add an alias for -mregnames so that full
reg
https://github.com/stefanp-ibm created
https://github.com/llvm/llvm-project/pull/70255
This option already exists on GCC and so it is being added to LLVM so that we
use the same option as them.
>From a561647c59119eb8da82e0468d9158e674102904 Mon Sep 17 00:00:00 2001
From: Stefan Pintilie
Date:
@@ -68,10 +68,10 @@ extern __inline __m128d
__asm__("mffsce %0" : "=f"(__fpscr_save.__fr));
__enables_save.__fpscr = __fpscr_save.__fpscr & 0xf8;
#else
-__fpscr_save.__fr = __builtin_mffs();
+__fpscr_save.__fr = __builtin_ppc_mffs();
stefanp-ibm
https://github.com/stefanp-ibm approved this pull request.
I'm going to approve this patch.
I don't think that removing the mask `__fpscr_save.__fpscr &= 0x70007f0ffL;`
in `smmintrin.h` with have issues but I don't feel strongly enough about it to
block this patch. If you are not convinced tha
https://github.com/stefanp-ibm edited
https://github.com/llvm/llvm-project/pull/67299
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -68,10 +68,10 @@ extern __inline __m128d
__asm__("mffsce %0" : "=f"(__fpscr_save.__fr));
__enables_save.__fpscr = __fpscr_save.__fpscr & 0xf8;
#else
-__fpscr_save.__fr = __builtin_mffs();
+__fpscr_save.__fr = __builtin_ppc_mffs();
stefanp-ibm
https://github.com/stefanp-ibm approved this pull request.
I'm going to approve this patch.
I don't think that removing the mask `__fpscr_save.__fpscr &= 0x70007f0ffL;`
in `smmintrin.h` with have issues but I don't feel strongly enough about it to
block this patch. If you are not convinced tha
https://github.com/stefanp-ibm commented:
With respect to the comment from Nemanja I'm okay with this not being 100% the
same as GCC. I'm sure we will get questions in the future but really we should
discourage the use of `__builtin_mffsl` on pre-Power 9.
https://github.com/llvm/llvm-project/
https://github.com/stefanp-ibm edited
https://github.com/llvm/llvm-project/pull/67299
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/stefanp-ibm commented:
With respect to the comment from Nemanja I'm okay with this not being 100% the
same as GCC. I'm sure we will get questions in the future but really we should
discourage the use of `__builtin_mffsl` on pre-Power 9.
https://github.com/llvm/llvm-project/
@@ -68,10 +68,10 @@ extern __inline __m128d
__asm__("mffsce %0" : "=f"(__fpscr_save.__fr));
__enables_save.__fpscr = __fpscr_save.__fpscr & 0xf8;
#else
-__fpscr_save.__fr = __builtin_mffs();
+__fpscr_save.__fr = __builtin_ppc_mffs();
stefanp-ibm
https://github.com/stefanp-ibm edited
https://github.com/llvm/llvm-project/pull/67299
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
stefanp-ibm wrote:
> I personally prefer this solution. @stefanp-ibm What do you think?
>
> LGTM
I understand your point about forcing users to just use `mffs` when `mffsl` is
not available. If that's the case do we also want to change this:
```
#ifdef _ARCH_PWR9
__fpscr_save.__fr = __buil
stefanp-ibm wrote:
> I personally prefer this solution. @stefanp-ibm What do you think?
>
> LGTM
I understand your point about forcing users to just use `mffs` when `mffsl` is
not available. If that's the case do we also want to change this:
```
#ifdef _ARCH_PWR9
__fpscr_save.__fr = __buil
https://github.com/stefanp-ibm edited
https://github.com/llvm/llvm-project/pull/68476
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/stefanp-ibm approved this pull request.
Thank you for fixing this!
LGTM.
https://github.com/llvm/llvm-project/pull/68476
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-comm
@@ -828,10 +829,7 @@ const TargetInfo::AddlRegName GCCAddlRegNames[] = {
};
ArrayRef PPCTargetInfo::getGCCAddlRegNames() const {
- if (ABI == "elfv2")
-return llvm::ArrayRef(GCCAddlRegNames);
- else
-return TargetInfo::getGCCAddlRegNames();
+ return llvm::ArrayRef(G
@@ -828,10 +829,7 @@ const TargetInfo::AddlRegName GCCAddlRegNames[] = {
};
ArrayRef PPCTargetInfo::getGCCAddlRegNames() const {
- if (ABI == "elfv2")
-return llvm::ArrayRef(GCCAddlRegNames);
- else
-return TargetInfo::getGCCAddlRegNames();
+ return llvm::ArrayRef(G
https://github.com/stefanp-ibm edited
https://github.com/llvm/llvm-project/pull/67299
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -68,10 +68,10 @@ extern __inline __m128d
__asm__("mffsce %0" : "=f"(__fpscr_save.__fr));
__enables_save.__fpscr = __fpscr_save.__fpscr & 0xf8;
#else
-__fpscr_save.__fr = __builtin_mffs();
+__fpscr_save.__fr = __builtin_ppc_mffs();
stefanp-ibm
@@ -219,9 +234,14 @@ extern __inline __m128
*/
__asm__("" : : "wa"(__r));
/* Restore enabled exceptions. */
-__fpscr_save.__fr = __builtin_mffsl();
+#ifdef _ARCH_PWR9
+__fpscr_save.__fr = __builtin_ppc_mffsl();
+#else
+__fpscr_save.__fr = __builtin_ppc
https://github.com/stefanp-ibm commented:
I think this makes sense to me overall.
Thank you for adding the tests for C++ as well!
I only had a couple of comments about this patch.
https://github.com/llvm/llvm-project/pull/67299
___
cfe-commits mailing
Author: Stefan Pintilie
Date: 2022-10-14T13:30:59-05:00
New Revision: 6897dbc46329cc8cc3f58b9e4809dd400218b8ae
URL:
https://github.com/llvm/llvm-project/commit/6897dbc46329cc8cc3f58b9e4809dd400218b8ae
DIFF:
https://github.com/llvm/llvm-project/commit/6897dbc46329cc8cc3f58b9e4809dd400218b8ae.dif
Author: Stefan Pintilie
Date: 2022-10-06T14:21:34-05:00
New Revision: 0e2e1fc90a01f84b982b48fb9189c06aec55baed
URL:
https://github.com/llvm/llvm-project/commit/0e2e1fc90a01f84b982b48fb9189c06aec55baed
DIFF:
https://github.com/llvm/llvm-project/commit/0e2e1fc90a01f84b982b48fb9189c06aec55baed.dif
Author: Stefan Pintilie
Date: 2021-10-04T06:17:02-05:00
New Revision: 4fc2f4979cf56fdc87cbd5ed1b02ef3461916731
URL:
https://github.com/llvm/llvm-project/commit/4fc2f4979cf56fdc87cbd5ed1b02ef3461916731
DIFF:
https://github.com/llvm/llvm-project/commit/4fc2f4979cf56fdc87cbd5ed1b02ef3461916731.dif
Author: Stefan Pintilie
Date: 2021-09-29T14:34:40-05:00
New Revision: fb4e44c4e7d1d2776e76d43566b0db264f30
URL:
https://github.com/llvm/llvm-project/commit/fb4e44c4e7d1d2776e76d43566b0db264f30
DIFF:
https://github.com/llvm/llvm-project/commit/fb4e44c4e7d1d2776e76d43566b0db264f30.dif
Author: Stefan Pintilie
Date: 2021-08-11T14:10:22-05:00
New Revision: a614a28772cbd8e0fc3c5fcf836493c2c8bc80da
URL:
https://github.com/llvm/llvm-project/commit/a614a28772cbd8e0fc3c5fcf836493c2c8bc80da
DIFF:
https://github.com/llvm/llvm-project/commit/a614a28772cbd8e0fc3c5fcf836493c2c8bc80da.dif
Author: Stefan Pintilie
Date: 2021-07-20T08:57:55-05:00
New Revision: 02cd937945f8f044aa52b7967531be2b77b27431
URL:
https://github.com/llvm/llvm-project/commit/02cd937945f8f044aa52b7967531be2b77b27431
DIFF:
https://github.com/llvm/llvm-project/commit/02cd937945f8f044aa52b7967531be2b77b27431.dif
Author: Stefan Pintilie
Date: 2021-07-16T12:50:04-05:00
New Revision: 0bf4b81d57b0b4d1ecc2752be3e4ad1504ee1eb3
URL:
https://github.com/llvm/llvm-project/commit/0bf4b81d57b0b4d1ecc2752be3e4ad1504ee1eb3
DIFF:
https://github.com/llvm/llvm-project/commit/0bf4b81d57b0b4d1ecc2752be3e4ad1504ee1eb3.dif
Author: Stefan Pintilie
Date: 2021-06-29T14:07:12-05:00
New Revision: 90dfd059198ed94334f9b1ccfd29b566feb75e8b
URL:
https://github.com/llvm/llvm-project/commit/90dfd059198ed94334f9b1ccfd29b566feb75e8b
DIFF:
https://github.com/llvm/llvm-project/commit/90dfd059198ed94334f9b1ccfd29b566feb75e8b.dif
Author: Stefan Pintilie
Date: 2021-06-28T11:16:37-05:00
New Revision: c3fe847f9d90de5a6a76fd1d5f5823ab4719accc
URL:
https://github.com/llvm/llvm-project/commit/c3fe847f9d90de5a6a76fd1d5f5823ab4719accc
DIFF:
https://github.com/llvm/llvm-project/commit/c3fe847f9d90de5a6a76fd1d5f5823ab4719accc.dif
Author: Quinn Pham
Date: 2021-05-27T16:23:03-05:00
New Revision: 62b5df7fe2b3fda1772befeda15598fbef96a614
URL:
https://github.com/llvm/llvm-project/commit/62b5df7fe2b3fda1772befeda15598fbef96a614
DIFF:
https://github.com/llvm/llvm-project/commit/62b5df7fe2b3fda1772befeda15598fbef96a614.diff
LO
Author: Stefan Pintilie
Date: 2021-03-24T08:33:22-05:00
New Revision: 91f4c1113350e847397bcfa5b98d2029a5160da9
URL:
https://github.com/llvm/llvm-project/commit/91f4c1113350e847397bcfa5b98d2029a5160da9
DIFF:
https://github.com/llvm/llvm-project/commit/91f4c1113350e847397bcfa5b98d2029a5160da9.dif
Author: Stefan Pintilie
Date: 2021-03-24T05:51:35-05:00
New Revision: 0e4f5f3ea6e11c3e697504b9c43a328a8b85cd13
URL:
https://github.com/llvm/llvm-project/commit/0e4f5f3ea6e11c3e697504b9c43a328a8b85cd13
DIFF:
https://github.com/llvm/llvm-project/commit/0e4f5f3ea6e11c3e697504b9c43a328a8b85cd13.dif
Author: Stefan Pintilie
Date: 2021-03-15T15:13:02-05:00
New Revision: 86f2a3d17878e430109be209fdb013fb3f4716ee
URL:
https://github.com/llvm/llvm-project/commit/86f2a3d17878e430109be209fdb013fb3f4716ee
DIFF:
https://github.com/llvm/llvm-project/commit/86f2a3d17878e430109be209fdb013fb3f4716ee.dif
Author: Stefan Pintilie
Date: 2021-02-18T12:15:50Z
New Revision: b80357d46e229ace904a8580e0a93e3f9b91720b
URL:
https://github.com/llvm/llvm-project/commit/b80357d46e229ace904a8580e0a93e3f9b91720b
DIFF:
https://github.com/llvm/llvm-project/commit/b80357d46e229ace904a8580e0a93e3f9b91720b.diff
LO
Author: Stefan Pintilie
Date: 2020-10-09T08:53:50-05:00
New Revision: 0741a2c9caca864fc30af2104712d02accdc12e6
URL:
https://github.com/llvm/llvm-project/commit/0741a2c9caca864fc30af2104712d02accdc12e6
DIFF:
https://github.com/llvm/llvm-project/commit/0741a2c9caca864fc30af2104712d02accdc12e6.dif
Author: Stefan Pintilie
Date: 2019-11-21T13:35:48-06:00
New Revision: 5fcf89f77893b4c3367f23dd82b426f783e67cff
URL:
https://github.com/llvm/llvm-project/commit/5fcf89f77893b4c3367f23dd82b426f783e67cff
DIFF:
https://github.com/llvm/llvm-project/commit/5fcf89f77893b4c3367f23dd82b426f783e67cff.dif
Author: stefanp
Date: Tue Dec 18 07:08:03 2018
New Revision: 349489
URL: http://llvm.org/viewvc/llvm-project?rev=349489&view=rev
Log:
[PowerPC] Make no-PIC default to match GCC - CLANG
Make -fno-PIC default on PowerPC for Little Endian Linux.
Differential Revision: https://reviews.llvm.org/D5338
t;
On Tue, Dec 11, 2018 at 10:50 AM Stefan Pintilie via cfe-commits
wrote:
>
> Author: stefanp
> Date: Tue Dec 11 07:47:57 2018
> New Revision: 348858
>
> URL:
http://llvm.org/viewvc/llvm-project?rev=348858&view=rev
> Log:
> Revert "[PowerPC] Make no-PIC default t
Author: stefanp
Date: Tue Dec 11 07:47:57 2018
New Revision: 348858
URL: http://llvm.org/viewvc/llvm-project?rev=348858&view=rev
Log:
Revert "[PowerPC] Make no-PIC default to match GCC - CLANG"
This reverts commit rL348299.
Modified:
cfe/trunk/lib/Driver/ToolChains/Gnu.cpp
cfe/trunk/test
Author: stefanp
Date: Tue Dec 4 12:15:37 2018
New Revision: 348299
URL: http://llvm.org/viewvc/llvm-project?rev=348299&view=rev
Log:
[PowerPC] Make no-PIC default to match GCC - CLANG
Make -fno-PIC default on PowerPC LE.
Differential Revision: https://reviews.llvm.org/D53384
Modified:
cfe/
Author: stefanp
Date: Fri Nov 16 11:21:33 2018
New Revision: 347075
URL: http://llvm.org/viewvc/llvm-project?rev=347075&view=rev
Log:
Revert "[PowerPC] Make no-PIC default to match GCC - CLANG"
This reverts commit r347070
Modified:
cfe/trunk/lib/Driver/ToolChains/Gnu.cpp
cfe/trunk/test/D
Author: stefanp
Date: Fri Nov 16 10:37:01 2018
New Revision: 347070
URL: http://llvm.org/viewvc/llvm-project?rev=347070&view=rev
Log:
[PowerPC] Make no-PIC default to match GCC - CLANG
Make the default -fno-PIC on Power PC.
Differential Revision: https://reviews.llvm.org/D53384
Modified:
cf
Author: stefanp
Date: Mon Sep 24 11:14:50 2018
New Revision: 342911
URL: http://llvm.org/viewvc/llvm-project?rev=342911&view=rev
Log:
[Power9] [CLANG] Add __float128 exponent GET and SET builtins
Added
__builtin_vsx_scalar_extract_expq
__builtin_vsx_scalar_insert_exp_qp
Builtins should behave t
Author: stefanp
Date: Mon Jul 9 13:09:52 2018
New Revision: 336596
URL: http://llvm.org/viewvc/llvm-project?rev=336596&view=rev
Log:
[Power9] [CLANG] Add __float128 support for trunc to double round to odd
Add support for this builtin:
double builtin_truncf128_round_to_odd(float128)
Differentia
Author: stefanp
Date: Mon Jul 9 11:50:40 2018
New Revision: 336579
URL: http://llvm.org/viewvc/llvm-project?rev=336579&view=rev
Log:
[Power9] Add __float128 builtins for Round To Odd
Add a number of builtins for __float128 Round To Odd.
This is the Clang portion of the builtins work.
Differenti
Author: stefanp
Date: Wed Jun 13 09:05:05 2018
New Revision: 334613
URL: http://llvm.org/viewvc/llvm-project?rev=334613&view=rev
Log:
[PowerPC] The __float128 type should only be available on Power9
Diasble the use of the type __float128 for PPC machines older
than Power9.
The use of -mfloat128
64 matches
Mail list logo