1
1
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2
- ; RUN: llc < %s -mtriple=i686-unknown-unknown | FileCheck %s -check-prefix=X32
2
+ ; RUN: llc < %s -mtriple=i686-unknown-unknown | FileCheck %s -check-prefix=X86
3
3
; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s -check-prefix=X64
4
4
5
5
; DAGCombiner crashes during sext folding
6
6
7
7
define <2 x i256 > @test_sext1 () {
8
- ; X32 -LABEL: test_sext1:
9
- ; X32 : # %bb.0:
10
- ; X32 -NEXT: movl {{[0-9]+}}(%esp), %eax
11
- ; X32 -NEXT: movl $-1, 60(%eax)
12
- ; X32 -NEXT: movl $-1, 56(%eax)
13
- ; X32 -NEXT: movl $-1, 52(%eax)
14
- ; X32 -NEXT: movl $-1, 48(%eax)
15
- ; X32 -NEXT: movl $-1, 44(%eax)
16
- ; X32 -NEXT: movl $-1, 40(%eax)
17
- ; X32 -NEXT: movl $-1, 36(%eax)
18
- ; X32 -NEXT: movl $-99, 32(%eax)
19
- ; X32 -NEXT: movl $0, 28(%eax)
20
- ; X32 -NEXT: movl $0, 24(%eax)
21
- ; X32 -NEXT: movl $0, 20(%eax)
22
- ; X32 -NEXT: movl $0, 16(%eax)
23
- ; X32 -NEXT: movl $0, 12(%eax)
24
- ; X32 -NEXT: movl $0, 8(%eax)
25
- ; X32 -NEXT: movl $0, 4(%eax)
26
- ; X32 -NEXT: movl $0, (%eax)
27
- ; X32 -NEXT: retl $4
8
+ ; X86 -LABEL: test_sext1:
9
+ ; X86 : # %bb.0:
10
+ ; X86 -NEXT: movl {{[0-9]+}}(%esp), %eax
11
+ ; X86 -NEXT: movl $-1, 60(%eax)
12
+ ; X86 -NEXT: movl $-1, 56(%eax)
13
+ ; X86 -NEXT: movl $-1, 52(%eax)
14
+ ; X86 -NEXT: movl $-1, 48(%eax)
15
+ ; X86 -NEXT: movl $-1, 44(%eax)
16
+ ; X86 -NEXT: movl $-1, 40(%eax)
17
+ ; X86 -NEXT: movl $-1, 36(%eax)
18
+ ; X86 -NEXT: movl $-99, 32(%eax)
19
+ ; X86 -NEXT: movl $0, 28(%eax)
20
+ ; X86 -NEXT: movl $0, 24(%eax)
21
+ ; X86 -NEXT: movl $0, 20(%eax)
22
+ ; X86 -NEXT: movl $0, 16(%eax)
23
+ ; X86 -NEXT: movl $0, 12(%eax)
24
+ ; X86 -NEXT: movl $0, 8(%eax)
25
+ ; X86 -NEXT: movl $0, 4(%eax)
26
+ ; X86 -NEXT: movl $0, (%eax)
27
+ ; X86 -NEXT: retl $4
28
28
;
29
29
; X64-LABEL: test_sext1:
30
30
; X64: # %bb.0:
@@ -43,26 +43,26 @@ define <2 x i256> @test_sext1() {
43
43
}
44
44
45
45
define <2 x i256 > @test_sext2 () {
46
- ; X32 -LABEL: test_sext2:
47
- ; X32 : # %bb.0:
48
- ; X32 -NEXT: movl {{[0-9]+}}(%esp), %eax
49
- ; X32 -NEXT: movl $-1, 60(%eax)
50
- ; X32 -NEXT: movl $-1, 56(%eax)
51
- ; X32 -NEXT: movl $-1, 52(%eax)
52
- ; X32 -NEXT: movl $-1, 48(%eax)
53
- ; X32 -NEXT: movl $-1, 44(%eax)
54
- ; X32 -NEXT: movl $-1, 40(%eax)
55
- ; X32 -NEXT: movl $-1, 36(%eax)
56
- ; X32 -NEXT: movl $-1999, 32(%eax) # imm = 0xF831
57
- ; X32 -NEXT: movl $0, 28(%eax)
58
- ; X32 -NEXT: movl $0, 24(%eax)
59
- ; X32 -NEXT: movl $0, 20(%eax)
60
- ; X32 -NEXT: movl $0, 16(%eax)
61
- ; X32 -NEXT: movl $0, 12(%eax)
62
- ; X32 -NEXT: movl $0, 8(%eax)
63
- ; X32 -NEXT: movl $0, 4(%eax)
64
- ; X32 -NEXT: movl $0, (%eax)
65
- ; X32 -NEXT: retl $4
46
+ ; X86 -LABEL: test_sext2:
47
+ ; X86 : # %bb.0:
48
+ ; X86 -NEXT: movl {{[0-9]+}}(%esp), %eax
49
+ ; X86 -NEXT: movl $-1, 60(%eax)
50
+ ; X86 -NEXT: movl $-1, 56(%eax)
51
+ ; X86 -NEXT: movl $-1, 52(%eax)
52
+ ; X86 -NEXT: movl $-1, 48(%eax)
53
+ ; X86 -NEXT: movl $-1, 44(%eax)
54
+ ; X86 -NEXT: movl $-1, 40(%eax)
55
+ ; X86 -NEXT: movl $-1, 36(%eax)
56
+ ; X86 -NEXT: movl $-1999, 32(%eax) # imm = 0xF831
57
+ ; X86 -NEXT: movl $0, 28(%eax)
58
+ ; X86 -NEXT: movl $0, 24(%eax)
59
+ ; X86 -NEXT: movl $0, 20(%eax)
60
+ ; X86 -NEXT: movl $0, 16(%eax)
61
+ ; X86 -NEXT: movl $0, 12(%eax)
62
+ ; X86 -NEXT: movl $0, 8(%eax)
63
+ ; X86 -NEXT: movl $0, 4(%eax)
64
+ ; X86 -NEXT: movl $0, (%eax)
65
+ ; X86 -NEXT: retl $4
66
66
;
67
67
; X64-LABEL: test_sext2:
68
68
; X64: # %bb.0:
@@ -81,26 +81,26 @@ define <2 x i256> @test_sext2() {
81
81
}
82
82
83
83
define <2 x i256 > @test_zext1 () {
84
- ; X32 -LABEL: test_zext1:
85
- ; X32 : # %bb.0:
86
- ; X32 -NEXT: movl {{[0-9]+}}(%esp), %eax
87
- ; X32 -NEXT: movl $0, 60(%eax)
88
- ; X32 -NEXT: movl $0, 56(%eax)
89
- ; X32 -NEXT: movl $0, 52(%eax)
90
- ; X32 -NEXT: movl $0, 48(%eax)
91
- ; X32 -NEXT: movl $0, 44(%eax)
92
- ; X32 -NEXT: movl $0, 40(%eax)
93
- ; X32 -NEXT: movl $0, 36(%eax)
94
- ; X32 -NEXT: movl $254, 32(%eax)
95
- ; X32 -NEXT: movl $0, 28(%eax)
96
- ; X32 -NEXT: movl $0, 24(%eax)
97
- ; X32 -NEXT: movl $0, 20(%eax)
98
- ; X32 -NEXT: movl $0, 16(%eax)
99
- ; X32 -NEXT: movl $0, 12(%eax)
100
- ; X32 -NEXT: movl $0, 8(%eax)
101
- ; X32 -NEXT: movl $0, 4(%eax)
102
- ; X32 -NEXT: movl $0, (%eax)
103
- ; X32 -NEXT: retl $4
84
+ ; X86 -LABEL: test_zext1:
85
+ ; X86 : # %bb.0:
86
+ ; X86 -NEXT: movl {{[0-9]+}}(%esp), %eax
87
+ ; X86 -NEXT: movl $0, 60(%eax)
88
+ ; X86 -NEXT: movl $0, 56(%eax)
89
+ ; X86 -NEXT: movl $0, 52(%eax)
90
+ ; X86 -NEXT: movl $0, 48(%eax)
91
+ ; X86 -NEXT: movl $0, 44(%eax)
92
+ ; X86 -NEXT: movl $0, 40(%eax)
93
+ ; X86 -NEXT: movl $0, 36(%eax)
94
+ ; X86 -NEXT: movl $254, 32(%eax)
95
+ ; X86 -NEXT: movl $0, 28(%eax)
96
+ ; X86 -NEXT: movl $0, 24(%eax)
97
+ ; X86 -NEXT: movl $0, 20(%eax)
98
+ ; X86 -NEXT: movl $0, 16(%eax)
99
+ ; X86 -NEXT: movl $0, 12(%eax)
100
+ ; X86 -NEXT: movl $0, 8(%eax)
101
+ ; X86 -NEXT: movl $0, 4(%eax)
102
+ ; X86 -NEXT: movl $0, (%eax)
103
+ ; X86 -NEXT: retl $4
104
104
;
105
105
; X64-LABEL: test_zext1:
106
106
; X64: # %bb.0:
@@ -118,26 +118,26 @@ define <2 x i256> @test_zext1() {
118
118
}
119
119
120
120
define <2 x i256 > @test_zext2 () {
121
- ; X32 -LABEL: test_zext2:
122
- ; X32 : # %bb.0:
123
- ; X32 -NEXT: movl {{[0-9]+}}(%esp), %eax
124
- ; X32 -NEXT: movl $0, 60(%eax)
125
- ; X32 -NEXT: movl $0, 56(%eax)
126
- ; X32 -NEXT: movl $0, 52(%eax)
127
- ; X32 -NEXT: movl $0, 48(%eax)
128
- ; X32 -NEXT: movl $-1, 44(%eax)
129
- ; X32 -NEXT: movl $-1, 40(%eax)
130
- ; X32 -NEXT: movl $-1, 36(%eax)
131
- ; X32 -NEXT: movl $-2, 32(%eax)
132
- ; X32 -NEXT: movl $0, 28(%eax)
133
- ; X32 -NEXT: movl $0, 24(%eax)
134
- ; X32 -NEXT: movl $0, 20(%eax)
135
- ; X32 -NEXT: movl $0, 16(%eax)
136
- ; X32 -NEXT: movl $0, 12(%eax)
137
- ; X32 -NEXT: movl $0, 8(%eax)
138
- ; X32 -NEXT: movl $0, 4(%eax)
139
- ; X32 -NEXT: movl $0, (%eax)
140
- ; X32 -NEXT: retl $4
121
+ ; X86 -LABEL: test_zext2:
122
+ ; X86 : # %bb.0:
123
+ ; X86 -NEXT: movl {{[0-9]+}}(%esp), %eax
124
+ ; X86 -NEXT: movl $0, 60(%eax)
125
+ ; X86 -NEXT: movl $0, 56(%eax)
126
+ ; X86 -NEXT: movl $0, 52(%eax)
127
+ ; X86 -NEXT: movl $0, 48(%eax)
128
+ ; X86 -NEXT: movl $-1, 44(%eax)
129
+ ; X86 -NEXT: movl $-1, 40(%eax)
130
+ ; X86 -NEXT: movl $-1, 36(%eax)
131
+ ; X86 -NEXT: movl $-2, 32(%eax)
132
+ ; X86 -NEXT: movl $0, 28(%eax)
133
+ ; X86 -NEXT: movl $0, 24(%eax)
134
+ ; X86 -NEXT: movl $0, 20(%eax)
135
+ ; X86 -NEXT: movl $0, 16(%eax)
136
+ ; X86 -NEXT: movl $0, 12(%eax)
137
+ ; X86 -NEXT: movl $0, 8(%eax)
138
+ ; X86 -NEXT: movl $0, 4(%eax)
139
+ ; X86 -NEXT: movl $0, (%eax)
140
+ ; X86 -NEXT: retl $4
141
141
;
142
142
; X64-LABEL: test_zext2:
143
143
; X64: # %bb.0:
0 commit comments