diff options
author | Guozhi Wei <carrot@google.com> | 2019-08-08 20:25:23 +0000 |
---|---|---|
committer | Guozhi Wei <carrot@google.com> | 2019-08-08 20:25:23 +0000 |
commit | 80347c3acc08a653cb4dd64411d86c35ac73011e (patch) | |
tree | f44c9a35f5409f87d6e74ed03f5ffca7ff1bf9f5 /llvm/test/CodeGen/X86/conditional-tailcall.ll | |
parent | 8b49e0fd39f946d0d2e6e3979a893b89dec1d9e0 (diff) | |
download | bcm5719-llvm-80347c3acc08a653cb4dd64411d86c35ac73011e.tar.gz bcm5719-llvm-80347c3acc08a653cb4dd64411d86c35ac73011e.zip |
[MBP] Disable aggressive loop rotate in plain mode
Patch https://reviews.llvm.org/D43256 introduced more aggressive loop layout optimization which depends on profile information. If profile information is not available, the statically estimated profile information(generated by BranchProbabilityInfo.cpp) is used. If user program doesn't behave as BranchProbabilityInfo.cpp expected, the layout may be worse.
To be conservative this patch restores the original layout algorithm in plain mode. But user can still try the aggressive layout optimization with -force-precise-rotation-cost=true.
Differential Revision: https://reviews.llvm.org/D65673
llvm-svn: 368339
Diffstat (limited to 'llvm/test/CodeGen/X86/conditional-tailcall.ll')
-rw-r--r-- | llvm/test/CodeGen/X86/conditional-tailcall.ll | 178 |
1 files changed, 89 insertions, 89 deletions
diff --git a/llvm/test/CodeGen/X86/conditional-tailcall.ll b/llvm/test/CodeGen/X86/conditional-tailcall.ll index e1a1e7b777d..e734773b7a4 100644 --- a/llvm/test/CodeGen/X86/conditional-tailcall.ll +++ b/llvm/test/CodeGen/X86/conditional-tailcall.ll @@ -258,12 +258,9 @@ define zeroext i1 @pr31257(%"class.std::basic_string"* nocapture readonly derefe ; CHECK32-NEXT: .cfi_adjust_cfa_offset -4 ; CHECK32-NEXT: xorl %edi, %edi # encoding: [0x31,0xff] ; CHECK32-NEXT: incl %edi # encoding: [0x47] -; CHECK32-NEXT: .LBB3_1: # %for.cond -; CHECK32-NEXT: # =>This Inner Loop Header: Depth=1 -; CHECK32-NEXT: testl %edx, %edx # encoding: [0x85,0xd2] -; CHECK32-NEXT: je .LBB3_13 # encoding: [0x74,A] -; CHECK32-NEXT: # fixup A - offset: 1, value: .LBB3_13-1, kind: FK_PCRel_1 -; CHECK32-NEXT: # %bb.2: # %for.body +; CHECK32-NEXT: jmp .LBB3_1 # encoding: [0xeb,A] +; CHECK32-NEXT: # fixup A - offset: 1, value: .LBB3_1-1, kind: FK_PCRel_1 +; CHECK32-NEXT: .LBB3_2: # %for.body ; CHECK32-NEXT: # in Loop: Header=BB3_1 Depth=1 ; CHECK32-NEXT: cmpl $2, %ebx # encoding: [0x83,0xfb,0x02] ; CHECK32-NEXT: je .LBB3_11 # encoding: [0x74,A] @@ -317,9 +314,12 @@ define zeroext i1 @pr31257(%"class.std::basic_string"* nocapture readonly derefe ; CHECK32-NEXT: # in Loop: Header=BB3_1 Depth=1 ; CHECK32-NEXT: incl %eax # encoding: [0x40] ; CHECK32-NEXT: decl %edx # encoding: [0x4a] -; CHECK32-NEXT: jmp .LBB3_1 # encoding: [0xeb,A] -; CHECK32-NEXT: # fixup A - offset: 1, value: .LBB3_1-1, kind: FK_PCRel_1 -; CHECK32-NEXT: .LBB3_13: +; CHECK32-NEXT: .LBB3_1: # %for.cond +; CHECK32-NEXT: # =>This Inner Loop Header: Depth=1 +; CHECK32-NEXT: testl %edx, %edx # encoding: [0x85,0xd2] +; CHECK32-NEXT: jne .LBB3_2 # encoding: [0x75,A] +; CHECK32-NEXT: # fixup A - offset: 1, value: .LBB3_2-1, kind: FK_PCRel_1 +; CHECK32-NEXT: # %bb.13: ; CHECK32-NEXT: cmpl $2, %ebx # encoding: [0x83,0xfb,0x02] ; CHECK32-NEXT: sete %al # encoding: [0x0f,0x94,0xc0] ; CHECK32-NEXT: jmp .LBB3_14 # encoding: [0xeb,A] @@ -369,59 +369,56 @@ define zeroext i1 @pr31257(%"class.std::basic_string"* nocapture readonly derefe ; CHECK64-NEXT: .cfi_adjust_cfa_offset 8 ; CHECK64-NEXT: popq %r8 # encoding: [0x41,0x58] ; CHECK64-NEXT: .cfi_adjust_cfa_offset -8 -; CHECK64-NEXT: .LBB3_1: # %for.cond -; CHECK64-NEXT: # =>This Inner Loop Header: Depth=1 -; CHECK64-NEXT: testq %rax, %rax # encoding: [0x48,0x85,0xc0] -; CHECK64-NEXT: je .LBB3_12 # encoding: [0x74,A] -; CHECK64-NEXT: # fixup A - offset: 1, value: .LBB3_12-1, kind: FK_PCRel_1 -; CHECK64-NEXT: # %bb.2: # %for.body -; CHECK64-NEXT: # in Loop: Header=BB3_1 Depth=1 +; CHECK64-NEXT: jmp .LBB3_11 # encoding: [0xeb,A] +; CHECK64-NEXT: # fixup A - offset: 1, value: .LBB3_11-1, kind: FK_PCRel_1 +; CHECK64-NEXT: .LBB3_1: # %for.body +; CHECK64-NEXT: # in Loop: Header=BB3_11 Depth=1 ; CHECK64-NEXT: cmpl $2, %ecx # encoding: [0x83,0xf9,0x02] -; CHECK64-NEXT: je .LBB3_10 # encoding: [0x74,A] -; CHECK64-NEXT: # fixup A - offset: 1, value: .LBB3_10-1, kind: FK_PCRel_1 -; CHECK64-NEXT: # %bb.3: # %for.body -; CHECK64-NEXT: # in Loop: Header=BB3_1 Depth=1 +; CHECK64-NEXT: je .LBB3_9 # encoding: [0x74,A] +; CHECK64-NEXT: # fixup A - offset: 1, value: .LBB3_9-1, kind: FK_PCRel_1 +; CHECK64-NEXT: # %bb.2: # %for.body +; CHECK64-NEXT: # in Loop: Header=BB3_11 Depth=1 ; CHECK64-NEXT: cmpl $1, %ecx # encoding: [0x83,0xf9,0x01] -; CHECK64-NEXT: je .LBB3_8 # encoding: [0x74,A] -; CHECK64-NEXT: # fixup A - offset: 1, value: .LBB3_8-1, kind: FK_PCRel_1 -; CHECK64-NEXT: # %bb.4: # %for.body -; CHECK64-NEXT: # in Loop: Header=BB3_1 Depth=1 +; CHECK64-NEXT: je .LBB3_7 # encoding: [0x74,A] +; CHECK64-NEXT: # fixup A - offset: 1, value: .LBB3_7-1, kind: FK_PCRel_1 +; CHECK64-NEXT: # %bb.3: # %for.body +; CHECK64-NEXT: # in Loop: Header=BB3_11 Depth=1 ; CHECK64-NEXT: testl %ecx, %ecx # encoding: [0x85,0xc9] -; CHECK64-NEXT: jne .LBB3_11 # encoding: [0x75,A] -; CHECK64-NEXT: # fixup A - offset: 1, value: .LBB3_11-1, kind: FK_PCRel_1 -; CHECK64-NEXT: # %bb.5: # %sw.bb -; CHECK64-NEXT: # in Loop: Header=BB3_1 Depth=1 +; CHECK64-NEXT: jne .LBB3_10 # encoding: [0x75,A] +; CHECK64-NEXT: # fixup A - offset: 1, value: .LBB3_10-1, kind: FK_PCRel_1 +; CHECK64-NEXT: # %bb.4: # %sw.bb +; CHECK64-NEXT: # in Loop: Header=BB3_11 Depth=1 ; CHECK64-NEXT: movzbl (%rdi), %edx # encoding: [0x0f,0xb6,0x17] ; CHECK64-NEXT: cmpl $43, %edx # encoding: [0x83,0xfa,0x2b] ; CHECK64-NEXT: movl %r8d, %ecx # encoding: [0x44,0x89,0xc1] -; CHECK64-NEXT: je .LBB3_11 # encoding: [0x74,A] -; CHECK64-NEXT: # fixup A - offset: 1, value: .LBB3_11-1, kind: FK_PCRel_1 -; CHECK64-NEXT: # %bb.6: # %sw.bb -; CHECK64-NEXT: # in Loop: Header=BB3_1 Depth=1 +; CHECK64-NEXT: je .LBB3_10 # encoding: [0x74,A] +; CHECK64-NEXT: # fixup A - offset: 1, value: .LBB3_10-1, kind: FK_PCRel_1 +; CHECK64-NEXT: # %bb.5: # %sw.bb +; CHECK64-NEXT: # in Loop: Header=BB3_11 Depth=1 ; CHECK64-NEXT: cmpb $45, %dl # encoding: [0x80,0xfa,0x2d] ; CHECK64-NEXT: movl %r8d, %ecx # encoding: [0x44,0x89,0xc1] -; CHECK64-NEXT: je .LBB3_11 # encoding: [0x74,A] -; CHECK64-NEXT: # fixup A - offset: 1, value: .LBB3_11-1, kind: FK_PCRel_1 -; CHECK64-NEXT: # %bb.7: # %if.else -; CHECK64-NEXT: # in Loop: Header=BB3_1 Depth=1 +; CHECK64-NEXT: je .LBB3_10 # encoding: [0x74,A] +; CHECK64-NEXT: # fixup A - offset: 1, value: .LBB3_10-1, kind: FK_PCRel_1 +; CHECK64-NEXT: # %bb.6: # %if.else +; CHECK64-NEXT: # in Loop: Header=BB3_11 Depth=1 ; CHECK64-NEXT: addl $-48, %edx # encoding: [0x83,0xc2,0xd0] ; CHECK64-NEXT: cmpl $10, %edx # encoding: [0x83,0xfa,0x0a] -; CHECK64-NEXT: jmp .LBB3_9 # encoding: [0xeb,A] -; CHECK64-NEXT: # fixup A - offset: 1, value: .LBB3_9-1, kind: FK_PCRel_1 -; CHECK64-NEXT: .LBB3_8: # %sw.bb14 -; CHECK64-NEXT: # in Loop: Header=BB3_1 Depth=1 +; CHECK64-NEXT: jmp .LBB3_8 # encoding: [0xeb,A] +; CHECK64-NEXT: # fixup A - offset: 1, value: .LBB3_8-1, kind: FK_PCRel_1 +; CHECK64-NEXT: .LBB3_7: # %sw.bb14 +; CHECK64-NEXT: # in Loop: Header=BB3_11 Depth=1 ; CHECK64-NEXT: movzbl (%rdi), %ecx # encoding: [0x0f,0xb6,0x0f] ; CHECK64-NEXT: addl $-48, %ecx # encoding: [0x83,0xc1,0xd0] ; CHECK64-NEXT: cmpl $10, %ecx # encoding: [0x83,0xf9,0x0a] -; CHECK64-NEXT: .LBB3_9: # %if.else -; CHECK64-NEXT: # in Loop: Header=BB3_1 Depth=1 +; CHECK64-NEXT: .LBB3_8: # %if.else +; CHECK64-NEXT: # in Loop: Header=BB3_11 Depth=1 ; CHECK64-NEXT: movl %r9d, %ecx # encoding: [0x44,0x89,0xc9] -; CHECK64-NEXT: jb .LBB3_11 # encoding: [0x72,A] -; CHECK64-NEXT: # fixup A - offset: 1, value: .LBB3_11-1, kind: FK_PCRel_1 +; CHECK64-NEXT: jb .LBB3_10 # encoding: [0x72,A] +; CHECK64-NEXT: # fixup A - offset: 1, value: .LBB3_10-1, kind: FK_PCRel_1 ; CHECK64-NEXT: jmp .LBB3_13 # encoding: [0xeb,A] ; CHECK64-NEXT: # fixup A - offset: 1, value: .LBB3_13-1, kind: FK_PCRel_1 -; CHECK64-NEXT: .LBB3_10: # %sw.bb22 -; CHECK64-NEXT: # in Loop: Header=BB3_1 Depth=1 +; CHECK64-NEXT: .LBB3_9: # %sw.bb22 +; CHECK64-NEXT: # in Loop: Header=BB3_11 Depth=1 ; CHECK64-NEXT: movzbl (%rdi), %ecx # encoding: [0x0f,0xb6,0x0f] ; CHECK64-NEXT: addl $-48, %ecx # encoding: [0x83,0xc1,0xd0] ; CHECK64-NEXT: cmpl $10, %ecx # encoding: [0x83,0xf9,0x0a] @@ -429,13 +426,16 @@ define zeroext i1 @pr31257(%"class.std::basic_string"* nocapture readonly derefe ; CHECK64-NEXT: jae _Z20isValidIntegerSuffixN9__gnu_cxx17__normal_iteratorIPKcSsEES3_ # TAILCALL ; CHECK64-NEXT: # encoding: [0x73,A] ; CHECK64-NEXT: # fixup A - offset: 1, value: _Z20isValidIntegerSuffixN9__gnu_cxx17__normal_iteratorIPKcSsEES3_-1, kind: FK_PCRel_1 -; CHECK64-NEXT: .LBB3_11: # %for.inc -; CHECK64-NEXT: # in Loop: Header=BB3_1 Depth=1 +; CHECK64-NEXT: .LBB3_10: # %for.inc +; CHECK64-NEXT: # in Loop: Header=BB3_11 Depth=1 ; CHECK64-NEXT: incq %rdi # encoding: [0x48,0xff,0xc7] ; CHECK64-NEXT: decq %rax # encoding: [0x48,0xff,0xc8] -; CHECK64-NEXT: jmp .LBB3_1 # encoding: [0xeb,A] +; CHECK64-NEXT: .LBB3_11: # %for.cond +; CHECK64-NEXT: # =>This Inner Loop Header: Depth=1 +; CHECK64-NEXT: testq %rax, %rax # encoding: [0x48,0x85,0xc0] +; CHECK64-NEXT: jne .LBB3_1 # encoding: [0x75,A] ; CHECK64-NEXT: # fixup A - offset: 1, value: .LBB3_1-1, kind: FK_PCRel_1 -; CHECK64-NEXT: .LBB3_12: +; CHECK64-NEXT: # %bb.12: ; CHECK64-NEXT: cmpl $2, %ecx # encoding: [0x83,0xf9,0x02] ; CHECK64-NEXT: sete %al # encoding: [0x0f,0x94,0xc0] ; CHECK64-NEXT: # kill: def $al killed $al killed $eax @@ -451,54 +451,51 @@ define zeroext i1 @pr31257(%"class.std::basic_string"* nocapture readonly derefe ; WIN64-NEXT: movq -24(%rcx), %r8 # encoding: [0x4c,0x8b,0x41,0xe8] ; WIN64-NEXT: leaq (%rcx,%r8), %rdx # encoding: [0x4a,0x8d,0x14,0x01] ; WIN64-NEXT: xorl %eax, %eax # encoding: [0x31,0xc0] -; WIN64-NEXT: .LBB3_1: # %for.cond -; WIN64-NEXT: # =>This Inner Loop Header: Depth=1 -; WIN64-NEXT: testq %r8, %r8 # encoding: [0x4d,0x85,0xc0] -; WIN64-NEXT: je .LBB3_11 # encoding: [0x74,A] -; WIN64-NEXT: # fixup A - offset: 1, value: .LBB3_11-1, kind: FK_PCRel_1 -; WIN64-NEXT: # %bb.2: # %for.body -; WIN64-NEXT: # in Loop: Header=BB3_1 Depth=1 +; WIN64-NEXT: jmp .LBB3_10 # encoding: [0xeb,A] +; WIN64-NEXT: # fixup A - offset: 1, value: .LBB3_10-1, kind: FK_PCRel_1 +; WIN64-NEXT: .LBB3_1: # %for.body +; WIN64-NEXT: # in Loop: Header=BB3_10 Depth=1 ; WIN64-NEXT: cmpl $2, %eax # encoding: [0x83,0xf8,0x02] -; WIN64-NEXT: je .LBB3_9 # encoding: [0x74,A] -; WIN64-NEXT: # fixup A - offset: 1, value: .LBB3_9-1, kind: FK_PCRel_1 -; WIN64-NEXT: # %bb.3: # %for.body -; WIN64-NEXT: # in Loop: Header=BB3_1 Depth=1 +; WIN64-NEXT: je .LBB3_8 # encoding: [0x74,A] +; WIN64-NEXT: # fixup A - offset: 1, value: .LBB3_8-1, kind: FK_PCRel_1 +; WIN64-NEXT: # %bb.2: # %for.body +; WIN64-NEXT: # in Loop: Header=BB3_10 Depth=1 ; WIN64-NEXT: cmpl $1, %eax # encoding: [0x83,0xf8,0x01] -; WIN64-NEXT: je .LBB3_7 # encoding: [0x74,A] -; WIN64-NEXT: # fixup A - offset: 1, value: .LBB3_7-1, kind: FK_PCRel_1 -; WIN64-NEXT: # %bb.4: # %for.body -; WIN64-NEXT: # in Loop: Header=BB3_1 Depth=1 +; WIN64-NEXT: je .LBB3_6 # encoding: [0x74,A] +; WIN64-NEXT: # fixup A - offset: 1, value: .LBB3_6-1, kind: FK_PCRel_1 +; WIN64-NEXT: # %bb.3: # %for.body +; WIN64-NEXT: # in Loop: Header=BB3_10 Depth=1 ; WIN64-NEXT: testl %eax, %eax # encoding: [0x85,0xc0] -; WIN64-NEXT: jne .LBB3_10 # encoding: [0x75,A] -; WIN64-NEXT: # fixup A - offset: 1, value: .LBB3_10-1, kind: FK_PCRel_1 -; WIN64-NEXT: # %bb.5: # %sw.bb -; WIN64-NEXT: # in Loop: Header=BB3_1 Depth=1 +; WIN64-NEXT: jne .LBB3_9 # encoding: [0x75,A] +; WIN64-NEXT: # fixup A - offset: 1, value: .LBB3_9-1, kind: FK_PCRel_1 +; WIN64-NEXT: # %bb.4: # %sw.bb +; WIN64-NEXT: # in Loop: Header=BB3_10 Depth=1 ; WIN64-NEXT: movzbl (%rcx), %r9d # encoding: [0x44,0x0f,0xb6,0x09] ; WIN64-NEXT: cmpl $43, %r9d # encoding: [0x41,0x83,0xf9,0x2b] ; WIN64-NEXT: movl $1, %eax # encoding: [0xb8,0x01,0x00,0x00,0x00] -; WIN64-NEXT: je .LBB3_10 # encoding: [0x74,A] -; WIN64-NEXT: # fixup A - offset: 1, value: .LBB3_10-1, kind: FK_PCRel_1 -; WIN64-NEXT: # %bb.6: # %sw.bb -; WIN64-NEXT: # in Loop: Header=BB3_1 Depth=1 +; WIN64-NEXT: je .LBB3_9 # encoding: [0x74,A] +; WIN64-NEXT: # fixup A - offset: 1, value: .LBB3_9-1, kind: FK_PCRel_1 +; WIN64-NEXT: # %bb.5: # %sw.bb +; WIN64-NEXT: # in Loop: Header=BB3_10 Depth=1 ; WIN64-NEXT: cmpb $45, %r9b # encoding: [0x41,0x80,0xf9,0x2d] -; WIN64-NEXT: je .LBB3_10 # encoding: [0x74,A] -; WIN64-NEXT: # fixup A - offset: 1, value: .LBB3_10-1, kind: FK_PCRel_1 -; WIN64-NEXT: jmp .LBB3_8 # encoding: [0xeb,A] -; WIN64-NEXT: # fixup A - offset: 1, value: .LBB3_8-1, kind: FK_PCRel_1 -; WIN64-NEXT: .LBB3_7: # %sw.bb14 -; WIN64-NEXT: # in Loop: Header=BB3_1 Depth=1 +; WIN64-NEXT: je .LBB3_9 # encoding: [0x74,A] +; WIN64-NEXT: # fixup A - offset: 1, value: .LBB3_9-1, kind: FK_PCRel_1 +; WIN64-NEXT: jmp .LBB3_7 # encoding: [0xeb,A] +; WIN64-NEXT: # fixup A - offset: 1, value: .LBB3_7-1, kind: FK_PCRel_1 +; WIN64-NEXT: .LBB3_6: # %sw.bb14 +; WIN64-NEXT: # in Loop: Header=BB3_10 Depth=1 ; WIN64-NEXT: movzbl (%rcx), %r9d # encoding: [0x44,0x0f,0xb6,0x09] -; WIN64-NEXT: .LBB3_8: # %if.else -; WIN64-NEXT: # in Loop: Header=BB3_1 Depth=1 +; WIN64-NEXT: .LBB3_7: # %if.else +; WIN64-NEXT: # in Loop: Header=BB3_10 Depth=1 ; WIN64-NEXT: addl $-48, %r9d # encoding: [0x41,0x83,0xc1,0xd0] ; WIN64-NEXT: movl $2, %eax # encoding: [0xb8,0x02,0x00,0x00,0x00] ; WIN64-NEXT: cmpl $10, %r9d # encoding: [0x41,0x83,0xf9,0x0a] -; WIN64-NEXT: jb .LBB3_10 # encoding: [0x72,A] -; WIN64-NEXT: # fixup A - offset: 1, value: .LBB3_10-1, kind: FK_PCRel_1 +; WIN64-NEXT: jb .LBB3_9 # encoding: [0x72,A] +; WIN64-NEXT: # fixup A - offset: 1, value: .LBB3_9-1, kind: FK_PCRel_1 ; WIN64-NEXT: jmp .LBB3_12 # encoding: [0xeb,A] ; WIN64-NEXT: # fixup A - offset: 1, value: .LBB3_12-1, kind: FK_PCRel_1 -; WIN64-NEXT: .LBB3_9: # %sw.bb22 -; WIN64-NEXT: # in Loop: Header=BB3_1 Depth=1 +; WIN64-NEXT: .LBB3_8: # %sw.bb22 +; WIN64-NEXT: # in Loop: Header=BB3_10 Depth=1 ; WIN64-NEXT: movzbl (%rcx), %r9d # encoding: [0x44,0x0f,0xb6,0x09] ; WIN64-NEXT: addl $-48, %r9d # encoding: [0x41,0x83,0xc1,0xd0] ; WIN64-NEXT: movl $2, %eax # encoding: [0xb8,0x02,0x00,0x00,0x00] @@ -506,13 +503,16 @@ define zeroext i1 @pr31257(%"class.std::basic_string"* nocapture readonly derefe ; WIN64-NEXT: jae _Z20isValidIntegerSuffixN9__gnu_cxx17__normal_iteratorIPKcSsEES3_ # TAILCALL ; WIN64-NEXT: # encoding: [0x73,A] ; WIN64-NEXT: # fixup A - offset: 1, value: _Z20isValidIntegerSuffixN9__gnu_cxx17__normal_iteratorIPKcSsEES3_-1, kind: FK_PCRel_1 -; WIN64-NEXT: .LBB3_10: # %for.inc -; WIN64-NEXT: # in Loop: Header=BB3_1 Depth=1 +; WIN64-NEXT: .LBB3_9: # %for.inc +; WIN64-NEXT: # in Loop: Header=BB3_10 Depth=1 ; WIN64-NEXT: incq %rcx # encoding: [0x48,0xff,0xc1] ; WIN64-NEXT: decq %r8 # encoding: [0x49,0xff,0xc8] -; WIN64-NEXT: jmp .LBB3_1 # encoding: [0xeb,A] +; WIN64-NEXT: .LBB3_10: # %for.cond +; WIN64-NEXT: # =>This Inner Loop Header: Depth=1 +; WIN64-NEXT: testq %r8, %r8 # encoding: [0x4d,0x85,0xc0] +; WIN64-NEXT: jne .LBB3_1 # encoding: [0x75,A] ; WIN64-NEXT: # fixup A - offset: 1, value: .LBB3_1-1, kind: FK_PCRel_1 -; WIN64-NEXT: .LBB3_11: +; WIN64-NEXT: # %bb.11: ; WIN64-NEXT: cmpl $2, %eax # encoding: [0x83,0xf8,0x02] ; WIN64-NEXT: sete %al # encoding: [0x0f,0x94,0xc0] ; WIN64-NEXT: # kill: def $al killed $al killed $eax |