[llvm-commits] CVS: llvm/test/CodeGen/Generic/bit-intrinsics.ll

Reid Spencer reid at x10sys.com
Wed Apr 4 16:48:53 PDT 2007



Changes in directory llvm/test/CodeGen/Generic:

bit-intrinsics.ll added (r1.1)
---
Log message:

Implement the llvm.bit.part_select.iN.iN.iN overloaded intrinsic. 


---
Diffs of the changes:  (+14 -0)

 bit-intrinsics.ll |   14 ++++++++++++++
 1 files changed, 14 insertions(+)


Index: llvm/test/CodeGen/Generic/bit-intrinsics.ll
diff -c /dev/null llvm/test/CodeGen/Generic/bit-intrinsics.ll:1.1
*** /dev/null	Wed Apr  4 18:48:35 2007
--- llvm/test/CodeGen/Generic/bit-intrinsics.ll	Wed Apr  4 18:48:25 2007
***************
*** 0 ****
--- 1,14 ----
+ ; Make sure this testcase is supported by all code generators. Either the
+ ; intrinsic is supported natively or IntrinsicLowering provides it.
+ ; RUN: llvm-as < %s | llc
+ 
+ 
+ declare i32 @llvm.bit.part.select.i32.i32(i32 %x, i32 %hi, i32 %lo)
+ declare i16 @llvm.bit.part.select.i16.i16(i16 %x, i32 %hi, i32 %lo)
+ define i32 @bit_part_select(i32 %A, i16 %B) {
+   %a = call i32 @llvm.bit.part.select.i32.i32(i32 %A, i32 8, i32 0)
+   %b = call i16 @llvm.bit.part.select.i16.i16(i16 %B, i32 8, i32 0)
+   %c = zext i16 %b to i32
+   %d = add i32 %a, %c
+   ret i32 %d
+ }






More information about the llvm-commits mailing list