File tree Expand file tree Collapse file tree 3 files changed +33
-6
lines changed Expand file tree Collapse file tree 3 files changed +33
-6
lines changed Original file line number Diff line number Diff line change
1
+ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 4
1
2
; RUN: llc < %s -mtriple=x86_64-- | FileCheck %s
2
3
3
- ; CHECK: {{leal .*[)], %e.*}}
4
- ; CHECK-NOT: {{leal .*[)], %e.*}}
5
-
6
4
; Don't eliminate or coalesce away the explicit zero-extension!
7
5
; This is currently using an leal because of a 3-addressification detail,
8
6
; though this isn't necessary; The point of this test is to make sure
9
7
; a 32-bit add is used.
10
8
11
9
define i64 @foo (i64 %a ) nounwind {
10
+ ; CHECK-LABEL: foo:
11
+ ; CHECK: # %bb.0:
12
+ ; CHECK-NEXT: leal -1(%rdi), %eax
13
+ ; CHECK-NEXT: incq %rax
14
+ ; CHECK-NEXT: retq
12
15
%b = add i64 %a , 4294967295
13
16
%c = and i64 %b , 4294967295
14
17
%d = add i64 %c , 1
Original file line number Diff line number Diff line change
1
+ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 4
1
2
; RUN: llc < %s -mtriple=x86_64-- | FileCheck %s
2
3
3
- ; CHECK: imull
4
-
5
4
; Don't eliminate or coalesce away the explicit zero-extension!
6
5
7
6
define i64 @foo (i64 %a ) {
7
+ ; CHECK-LABEL: foo:
8
+ ; CHECK: # %bb.0:
9
+ ; CHECK-NEXT: imull $7823, %edi, %eax # imm = 0x1E8F
10
+ ; CHECK-NEXT: incq %rax
11
+ ; CHECK-NEXT: retq
8
12
%b = mul i64 %a , 7823
9
13
%c = and i64 %b , 4294967295
10
14
%d = add i64 %c , 1
Original file line number Diff line number Diff line change 1
- ; RUN: llc < %s -mtriple=x86_64--
1
+ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 4
2
+ ; RUN: llc < %s -mtriple=x86_64-- | FileCheck %s
2
3
3
4
define i64 @foo () nounwind {
5
+ ; CHECK-LABEL: foo:
6
+ ; CHECK: # %bb.0: # %entry
7
+ ; CHECK-NEXT: cmpl $12, 0
8
+ ; CHECK-NEXT: je .LBB0_1
9
+ ; CHECK-NEXT: # %bb.2: # %bb65
10
+ ; CHECK-NEXT: xorl %ecx, %ecx
11
+ ; CHECK-NEXT: #APP
12
+ ; CHECK-NEXT: #NO_APP
13
+ ; CHECK-NEXT: xorl %eax, %eax
14
+ ; CHECK-NEXT: retq
15
+ ; CHECK-NEXT: .LBB0_1: # %bb56
4
16
entry:
5
17
%t0 = load i32 , ptr null , align 8
6
18
switch i32 %t0 , label %bb65 [
22
34
}
23
35
24
36
define i64 @bar (i64 %t0 ) nounwind {
37
+ ; CHECK-LABEL: bar:
38
+ ; CHECK: # %bb.0:
39
+ ; CHECK-NEXT: movq %rdi, %rax
40
+ ; CHECK-NEXT: xorl %ecx, %ecx
41
+ ; CHECK-NEXT: #APP
42
+ ; CHECK-NEXT: #NO_APP
43
+ ; CHECK-NEXT: negl %eax
44
+ ; CHECK-NEXT: retq
25
45
call void asm "" , "{cx}" (i64 0 ) nounwind
26
46
%t1 = sub i64 0 , %t0
27
47
%t2 = and i64 %t1 , 4294967295
You can’t perform that action at this time.
0 commit comments