bfe.ll 646 B

1234567891011121314151617181920212223242526272829303132
  1. ; RUN: llc < %s -march=nvptx -mcpu=sm_20 | FileCheck %s
  2. ; CHECK: bfe0
  3. define i32 @bfe0(i32 %a) {
  4. ; CHECK: bfe.u32 %r{{[0-9]+}}, %r{{[0-9]+}}, 4, 4
  5. ; CHECK-NOT: shr
  6. ; CHECK-NOT: and
  7. %val0 = ashr i32 %a, 4
  8. %val1 = and i32 %val0, 15
  9. ret i32 %val1
  10. }
  11. ; CHECK: bfe1
  12. define i32 @bfe1(i32 %a) {
  13. ; CHECK: bfe.u32 %r{{[0-9]+}}, %r{{[0-9]+}}, 3, 3
  14. ; CHECK-NOT: shr
  15. ; CHECK-NOT: and
  16. %val0 = ashr i32 %a, 3
  17. %val1 = and i32 %val0, 7
  18. ret i32 %val1
  19. }
  20. ; CHECK: bfe2
  21. define i32 @bfe2(i32 %a) {
  22. ; CHECK: bfe.u32 %r{{[0-9]+}}, %r{{[0-9]+}}, 5, 3
  23. ; CHECK-NOT: shr
  24. ; CHECK-NOT: and
  25. %val0 = ashr i32 %a, 5
  26. %val1 = and i32 %val0, 7
  27. ret i32 %val1
  28. }