https://github.com/RKSimon updated https://github.com/llvm/llvm-project/pull/177290
>From fe72f2aabf37ebbc585dd3ac3d1d06fd15f3e824 Mon Sep 17 00:00:00 2001 From: NagaChaitanya Vellanki <[email protected]> Date: Wed, 21 Jan 2026 16:32:41 -0800 Subject: [PATCH 1/2] [clang][test] Fix builtin-rotate.c failure on ARM32 Replace unsigned __int128 with unsigned _BitInt(128) since __int128 is not supported on ARM 32-bit targets. Fixes https://lab.llvm.org/buildbot/#/builders/79/builds/2754 --- clang/test/CodeGen/builtin-rotate.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/clang/test/CodeGen/builtin-rotate.c b/clang/test/CodeGen/builtin-rotate.c index 1f498c0294a58..4467b29c06197 100644 --- a/clang/test/CodeGen/builtin-rotate.c +++ b/clang/test/CodeGen/builtin-rotate.c @@ -95,7 +95,7 @@ long long rotr64(long long x, unsigned long long y) { // CHECK: call i8 @llvm.fshl.i8(i8 %{{.*}}, i8 %{{.*}}, i8 0) void test_builtin_stdc_rotate_left(uint8_t u8, uint16_t u16, uint32_t u32, uint64_t u64, - uint64_t u64_2, unsigned __int128 u128, + uint64_t u64_2, unsigned _BitInt(128) u128, unsigned _BitInt(9) u9, unsigned _BitInt(37) u37, unsigned _BitInt(10) u10, unsigned _BitInt(16) u16_bit, unsigned _BitInt(24) u24, unsigned _BitInt(48) u48) { @@ -105,7 +105,7 @@ void test_builtin_stdc_rotate_left(uint8_t u8, uint16_t u16, volatile uint32_t result_u32; volatile uint64_t result_u64; volatile uint64_t result_u64_2; - volatile unsigned __int128 result_u128; + volatile unsigned _BitInt(128) result_u128; volatile unsigned _BitInt(9) result_u9; volatile unsigned _BitInt(37) result_u37; volatile unsigned _BitInt(10) result_u10; @@ -187,7 +187,7 @@ void test_builtin_stdc_rotate_left(uint8_t u8, uint16_t u16, // CHECK: call i16 @llvm.fshl.i16(i16 %{{.*}}, i16 %{{.*}}, i16 1) void test_builtin_stdc_rotate_right(uint8_t u8, uint16_t u16, uint32_t u32, uint64_t u64, - uint64_t u64_2, unsigned __int128 u128, + uint64_t u64_2, unsigned _BitInt(128) u128, unsigned _BitInt(9) u9, unsigned _BitInt(12) u12, unsigned _BitInt(20) u20, unsigned _BitInt(32) u32_bit) { @@ -196,7 +196,7 @@ void test_builtin_stdc_rotate_right(uint8_t u8, uint16_t u16, volatile uint32_t result_u32; volatile uint64_t result_u64; volatile uint64_t result_u64_2; - volatile unsigned __int128 result_u128; + volatile unsigned _BitInt(128) result_u128; volatile unsigned _BitInt(9) result_u9; volatile unsigned _BitInt(12) result_u12; volatile unsigned _BitInt(20) result_u20; >From 632c6985b5e2f845bca0653feeb4cbd64381bc8e Mon Sep 17 00:00:00 2001 From: NagaChaitanya Vellanki <[email protected]> Date: Thu, 22 Jan 2026 11:53:48 -0800 Subject: [PATCH 2/2] Keep __int128 coverage as well --- clang/test/CodeGen/builtin-rotate.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/clang/test/CodeGen/builtin-rotate.c b/clang/test/CodeGen/builtin-rotate.c index 4467b29c06197..c64e2ad14955c 100644 --- a/clang/test/CodeGen/builtin-rotate.c +++ b/clang/test/CodeGen/builtin-rotate.c @@ -302,3 +302,13 @@ void test_wider_shift_amount(uint8_t u8, uint16_t u16, uint32_t u32, unsigned _B result_u9 = __builtin_stdc_rotate_left((unsigned _BitInt(9))0x1FF, (int64_t)-2147483647); } +#ifdef __SIZEOF_INT128__ +// CHECK-LABEL: test_int128_rotate +// CHECK: call i128 @llvm.fshl.i128(i128 %{{.*}}, i128 %{{.*}}, i128 32) +// CHECK: call i128 @llvm.fshr.i128(i128 %{{.*}}, i128 %{{.*}}, i128 32) +void test_int128_rotate(unsigned __int128 u128) { + volatile unsigned __int128 result_u128; + result_u128 = __builtin_stdc_rotate_left(u128, 32); + result_u128 = __builtin_stdc_rotate_right(u128, 32); +} +#endif _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
