Author: NagaChaitanya Vellanki
Date: 2026-01-23T18:06:47Z
New Revision: 6cf189acae1c54003db38ad43197b26aa0817d54

URL: 
https://github.com/llvm/llvm-project/commit/6cf189acae1c54003db38ad43197b26aa0817d54
DIFF: 
https://github.com/llvm/llvm-project/commit/6cf189acae1c54003db38ad43197b26aa0817d54.diff

LOG: [clang][test] Fix builtin-rotate.c failure on ARM32 (#177290)

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

Added: 
    

Modified: 
    clang/test/CodeGen/builtin-rotate.c

Removed: 
    


################################################################################
diff  --git a/clang/test/CodeGen/builtin-rotate.c 
b/clang/test/CodeGen/builtin-rotate.c
index 1f498c0294a58..c64e2ad14955c 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;
@@ -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

Reply via email to