| ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 2 |
| ; Test bit deposit / extract intrinsics |
| ; |
| ; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=arch15 | FileCheck %s |
| |
| declare i64 @llvm.s390.bdepg(i64, i64) |
| declare i64 @llvm.s390.bextg(i64, i64) |
| |
| ; BDEPG. |
| define i64 @test_bdepg(i64 %a, i64 %b) { |
| ; CHECK-LABEL: test_bdepg: |
| ; CHECK: # %bb.0: |
| ; CHECK-NEXT: bdepg %r2, %r2, %r3 |
| ; CHECK-NEXT: br %r14 |
| %res = call i64 @llvm.s390.bdepg(i64 %a, i64 %b) |
| ret i64 %res |
| } |
| |
| ; BEXTG. |
| define i64 @test_bextg(i64 %a, i64 %b) { |
| ; CHECK-LABEL: test_bextg: |
| ; CHECK: # %bb.0: |
| ; CHECK-NEXT: bextg %r2, %r2, %r3 |
| ; CHECK-NEXT: br %r14 |
| %res = call i64 @llvm.s390.bextg(i64 %a, i64 %b) |
| ret i64 %res |
| } |
| |