LGTM
On Wed, Oct 2, 2013 at 1:32 PM, Yunzhong Gao < [email protected]> wrote: > ygao added you to the CC list for the revision "[2/2] Change tbm bextr > builtin function to take an i64imm parameter instead of i32imm.". > > This makes the backend TableGen patterns slightly cleaner. An explicit > cast is still needed in tbmintrin.h to convert any big integer down to > i32imm. The llvm backend portion of the patch is located here: > http://llvm-reviews.chandlerc.com/D1788 > - Gao. > > http://llvm-reviews.chandlerc.com/D1814 > > Files: > lib/Headers/tbmintrin.h > test/CodeGen/tbm-builtins.c > include/clang/Basic/BuiltinsX86.def > > Index: lib/Headers/tbmintrin.h > =================================================================== > --- lib/Headers/tbmintrin.h > +++ lib/Headers/tbmintrin.h > @@ -35,7 +35,7 @@ > #define __bextri_u32(a, b) (__builtin_ia32_bextri_u32((a), (b))) > > #ifdef __x86_64__ > -#define __bextri_u64(a, b) (__builtin_ia32_bextri_u64((a), (b))) > +#define __bextri_u64(a, b) (__builtin_ia32_bextri_u64((a), (int)(b))) > #endif > > static __inline__ unsigned int __attribute__((__always_inline__, > __nodebug__)) > Index: test/CodeGen/tbm-builtins.c > =================================================================== > --- test/CodeGen/tbm-builtins.c > +++ test/CodeGen/tbm-builtins.c > @@ -15,6 +15,11 @@ > return __bextri_u64(a, 2); > } > > +unsigned long long test__bextri_u64_bigint(unsigned long long a) { > + // CHECK: call i64 @llvm.x86.tbm.bextri.u64 > + return __bextri_u64(a, 0x7fffffffffLL); > +} > + > unsigned int test__blcfill_u32(unsigned int a) { > // CHECK: call i32 @llvm.x86.tbm.blcfill.u32 > return __blcfill_u32(a); > Index: include/clang/Basic/BuiltinsX86.def > =================================================================== > --- include/clang/Basic/BuiltinsX86.def > +++ include/clang/Basic/BuiltinsX86.def > @@ -644,7 +644,7 @@ > > // TBM > BUILTIN(__builtin_ia32_bextri_u32, "UiUiIUi", "") > -BUILTIN(__builtin_ia32_bextri_u64, "ULLiULLiIUi", "") > +BUILTIN(__builtin_ia32_bextri_u64, "ULLiULLiIULLi", "") > BUILTIN(__builtin_ia32_blcfill_u32, "UiUi", "") > BUILTIN(__builtin_ia32_blcfill_u64, "ULLiULLi", "") > BUILTIN(__builtin_ia32_blci_u32, "UiUi", "") > -- ~Craig
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
