[PATCH] D121319: Tests for D121320

Matthias Braun via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 10 09:22:18 PST 2022


MatzeB updated this revision to Diff 414405.

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D121319/new/

https://reviews.llvm.org/D121319

Files:
  llvm/test/CodeGen/X86/cmp.ll


Index: llvm/test/CodeGen/X86/cmp.ll
===================================================================
--- llvm/test/CodeGen/X86/cmp.ll
+++ llvm/test/CodeGen/X86/cmp.ll
@@ -530,6 +530,57 @@
   ret i32 %ret
 }
 
+define i1 @shifted_mask_testb(i64 %a) {
+; CHECK-LABEL: shifted_mask_testb:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    movabsq $287104476244869120, %rax # encoding: [0x48,0xb8,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x03]
+; CHECK-NEXT:    # imm = 0x3FC000000000000
+; CHECK-NEXT:    testq %rax, %rdi # encoding: [0x48,0x85,0xc7]
+; CHECK-NEXT:    setne %al # encoding: [0x0f,0x95,0xc0]
+; CHECK-NEXT:    retq # encoding: [0xc3]
+  %v0 = and i64 %a, 287104476244869120  ; 0xff << 50
+  %v1 = icmp ne i64 %v0, 0
+  ret i1 %v1
+}
+
+define i1 @shifted_mask_testw(i64 %a) {
+; CHECK-LABEL: shifted_mask_testw:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    movabsq $562941363486720, %rax # encoding: [0x48,0xb8,0x00,0x00,0x00,0x00,0xfe,0xff,0x01,0x00]
+; CHECK-NEXT:    # imm = 0x1FFFE00000000
+; CHECK-NEXT:    testq %rax, %rdi # encoding: [0x48,0x85,0xc7]
+; CHECK-NEXT:    setne %al # encoding: [0x0f,0x95,0xc0]
+; CHECK-NEXT:    retq # encoding: [0xc3]
+  %v0 = and i64 %a, 562941363486720  ; 0xffff << 33
+  %v1 = icmp ne i64 %v0, 0
+  ret i1 %v1
+}
+
+define i1 @shifted_mask_testl(i64 %a) {
+; CHECK-LABEL: shifted_mask_testl:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    movabsq $549755813760, %rax # encoding: [0x48,0xb8,0x80,0xff,0xff,0xff,0x7f,0x00,0x00,0x00]
+; CHECK-NEXT:    # imm = 0x7FFFFFFF80
+; CHECK-NEXT:    testq %rax, %rdi # encoding: [0x48,0x85,0xc7]
+; CHECK-NEXT:    sete %al # encoding: [0x0f,0x94,0xc0]
+; CHECK-NEXT:    retq # encoding: [0xc3]
+  %v0 = and i64 %a, 549755813760  ; 0xffffffff << 7
+  %v1 = icmp eq i64 %v0, 0
+  ret i1 %v1
+}
+
+define i1 @shifted_mask_testl_immediate(i64 %a) {
+; CHECK-LABEL: shifted_mask_testl_immediate:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    testl $66846720, %edi # encoding: [0xf7,0xc7,0x00,0x00,0xfc,0x03]
+; CHECK-NEXT:    # imm = 0x3FC0000
+; CHECK-NEXT:    setne %al # encoding: [0x0f,0x95,0xc0]
+; CHECK-NEXT:    retq # encoding: [0xc3]
+  %v0 = and i64 %a, 66846720  ; 0xff << 18
+  %v1 = icmp ne i64 %v0, 0
+  ret i1 %v1
+}
+
 define { i64, i64 } @pr39968(i64, i64, i32) {
 ; CHECK-LABEL: pr39968:
 ; CHECK:       # %bb.0:
@@ -555,13 +606,13 @@
 ; CHECK:       # %bb.0: # %entry
 ; CHECK-NEXT:    cmpl $32767, %edi # encoding: [0x81,0xff,0xff,0x7f,0x00,0x00]
 ; CHECK-NEXT:    # imm = 0x7FFF
-; CHECK-NEXT:    jne .LBB33_2 # encoding: [0x75,A]
-; CHECK-NEXT:    # fixup A - offset: 1, value: .LBB33_2-1, kind: FK_PCRel_1
+; CHECK-NEXT:    jne .LBB37_2 # encoding: [0x75,A]
+; CHECK-NEXT:    # fixup A - offset: 1, value: .LBB37_2-1, kind: FK_PCRel_1
 ; CHECK-NEXT:  # %bb.1: # %if.then
 ; CHECK-NEXT:    jmp g at PLT # TAILCALL
 ; CHECK-NEXT:    # encoding: [0xeb,A]
 ; CHECK-NEXT:    # fixup A - offset: 1, value: g at PLT-1, kind: FK_PCRel_1
-; CHECK-NEXT:  .LBB33_2: # %if.end
+; CHECK-NEXT:  .LBB37_2: # %if.end
 ; CHECK-NEXT:    jmp f at PLT # TAILCALL
 ; CHECK-NEXT:    # encoding: [0xeb,A]
 ; CHECK-NEXT:    # fixup A - offset: 1, value: f at PLT-1, kind: FK_PCRel_1


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D121319.414405.patch
Type: text/x-patch
Size: 3139 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220310/ebbd08bc/attachment.bin>


More information about the llvm-commits mailing list