Ka-Ka created this revision. Ka-Ka added a reviewer: efriedma. Herald added a subscriber: kristina. Herald added a project: clang.
The signature of __builtin_rotateright64 was by misstake changed from unsigned to signed in r360863, this patch will change it back to unsigned as intended. This fixes pr43309 Repository: rC Clang https://reviews.llvm.org/D67606 Files: include/clang/Basic/Builtins.def test/AST/builtins.c Index: test/AST/builtins.c =================================================================== --- /dev/null +++ test/AST/builtins.c @@ -0,0 +1,22 @@ +// RUN: %clang_cc1 -triple x86_64-unknown-unknown -ast-dump %s | FileCheck %s + +unsigned char rotright8(unsigned char x, unsigned char y) { + return __builtin_rotateright8(x, y); +} +// CHECK: __builtin_rotateright8 'unsigned char (unsigned char, unsigned char)' + +unsigned int rotright16(unsigned int x, unsigned int y) { + return __builtin_rotateright16(x, y); +} +// CHECK: __builtin_rotateright16 'unsigned short (unsigned short, unsigned short)' + +unsigned long rotright32(unsigned long x, unsigned long y) { + return __builtin_rotateright32(x, y); +} +// CHECK: __builtin_rotateright32 'unsigned int (unsigned int, unsigned int)' + +unsigned long long rotright64(unsigned long long x, unsigned long long y) { + return __builtin_rotateright64(x, y); +} +// This verifies pr43309 +// CHECK: __builtin_rotateright64 'unsigned long (unsigned long, unsigned long)' Index: include/clang/Basic/Builtins.def =================================================================== --- include/clang/Basic/Builtins.def +++ include/clang/Basic/Builtins.def @@ -461,7 +461,7 @@ BUILTIN(__builtin_rotateright8, "UcUcUc", "nc") BUILTIN(__builtin_rotateright16, "UsUsUs", "nc") BUILTIN(__builtin_rotateright32, "UZiUZiUZi", "nc") -BUILTIN(__builtin_rotateright64, "UWiUWiWi", "nc") +BUILTIN(__builtin_rotateright64, "UWiUWiUWi", "nc") // Random GCC builtins BUILTIN(__builtin_constant_p, "i.", "nctu")
Index: test/AST/builtins.c =================================================================== --- /dev/null +++ test/AST/builtins.c @@ -0,0 +1,22 @@ +// RUN: %clang_cc1 -triple x86_64-unknown-unknown -ast-dump %s | FileCheck %s + +unsigned char rotright8(unsigned char x, unsigned char y) { + return __builtin_rotateright8(x, y); +} +// CHECK: __builtin_rotateright8 'unsigned char (unsigned char, unsigned char)' + +unsigned int rotright16(unsigned int x, unsigned int y) { + return __builtin_rotateright16(x, y); +} +// CHECK: __builtin_rotateright16 'unsigned short (unsigned short, unsigned short)' + +unsigned long rotright32(unsigned long x, unsigned long y) { + return __builtin_rotateright32(x, y); +} +// CHECK: __builtin_rotateright32 'unsigned int (unsigned int, unsigned int)' + +unsigned long long rotright64(unsigned long long x, unsigned long long y) { + return __builtin_rotateright64(x, y); +} +// This verifies pr43309 +// CHECK: __builtin_rotateright64 'unsigned long (unsigned long, unsigned long)' Index: include/clang/Basic/Builtins.def =================================================================== --- include/clang/Basic/Builtins.def +++ include/clang/Basic/Builtins.def @@ -461,7 +461,7 @@ BUILTIN(__builtin_rotateright8, "UcUcUc", "nc") BUILTIN(__builtin_rotateright16, "UsUsUs", "nc") BUILTIN(__builtin_rotateright32, "UZiUZiUZi", "nc") -BUILTIN(__builtin_rotateright64, "UWiUWiWi", "nc") +BUILTIN(__builtin_rotateright64, "UWiUWiUWi", "nc") // Random GCC builtins BUILTIN(__builtin_constant_p, "i.", "nctu")
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits