diff options
Diffstat (limited to 'llvm/test/CodeGen/AArch64/signbit-test.ll')
| -rw-r--r-- | llvm/test/CodeGen/AArch64/signbit-test.ll | 22 | 
1 files changed, 15 insertions, 7 deletions
| diff --git a/llvm/test/CodeGen/AArch64/signbit-test.ll b/llvm/test/CodeGen/AArch64/signbit-test.ll index c74a934..298495b 100644 --- a/llvm/test/CodeGen/AArch64/signbit-test.ll +++ b/llvm/test/CodeGen/AArch64/signbit-test.ll @@ -1,13 +1,21 @@  ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py -; RUN: llc < %s -mtriple=aarch64-- | FileCheck %s +; RUN: llc -mtriple=aarch64--  < %s | FileCheck %s --check-prefixes=CHECK,CHECK-SD +; RUN: llc -mtriple=aarch64-- -global-isel < %s | FileCheck %s --check-prefixes=CHECK,CHECK-GI  define i64 @test_clear_mask_i64_i32(i64 %x) nounwind { -; CHECK-LABEL: test_clear_mask_i64_i32: -; CHECK:       // %bb.0: // %entry -; CHECK-NEXT:    mov w8, #42 // =0x2a -; CHECK-NEXT:    cmn w0, #1 -; CHECK-NEXT:    csel x0, x8, x0, gt -; CHECK-NEXT:    ret +; CHECK-SD-LABEL: test_clear_mask_i64_i32: +; CHECK-SD:       // %bb.0: // %entry +; CHECK-SD-NEXT:    mov w8, #42 // =0x2a +; CHECK-SD-NEXT:    cmn w0, #1 +; CHECK-SD-NEXT:    csel x0, x8, x0, gt +; CHECK-SD-NEXT:    ret +; +; CHECK-GI-LABEL: test_clear_mask_i64_i32: +; CHECK-GI:       // %bb.0: // %entry +; CHECK-GI-NEXT:    mov w8, #42 // =0x2a +; CHECK-GI-NEXT:    tst x0, #0x80000000 +; CHECK-GI-NEXT:    csel x0, x8, x0, eq +; CHECK-GI-NEXT:    ret  entry:    %a = and i64 %x, 2147483648    %r = icmp eq i64 %a, 0 | 
