@@ -47,6 +47,8 @@ define i16 @t2(i7 %x) {
47
47
ret i16 %c
48
48
}
49
49
50
+ ; negative test - shift amount doesn't match trunc amount
51
+
50
52
define i16 @n3 (i8 %x ) {
51
53
; CHECK-LABEL: @n3(
52
54
; CHECK-NEXT: [[A:%.*]] = lshr i8 [[X:%.*]], 3
@@ -84,7 +86,7 @@ define <2 x i16> @t5_vec_undef(<2 x i8> %x) {
84
86
ret <2 x i16 > %c
85
87
}
86
88
87
- ; TODO: We could convert both uses of %a to ashr.
89
+ ; TODO: We could convert %a to ashr and eliminate 2nd use of %b .
88
90
89
91
define i16 @t6_extrause0 (i8 %x ) {
90
92
; CHECK-LABEL: @t6_extrause0(
@@ -101,7 +103,7 @@ define i16 @t6_extrause0(i8 %x) {
101
103
ret i16 %c
102
104
}
103
105
104
- ; TODO: We could convert both uses of %a to ashr.
106
+ ; TODO: We could convert %a to ashr and eliminate 2nd use of %b .
105
107
106
108
define <2 x i16 > @t7_extrause0_vec_undef (<2 x i8 > %x ) {
107
109
; CHECK-LABEL: @t7_extrause0_vec_undef(
@@ -118,7 +120,7 @@ define <2 x i16> @t7_extrause0_vec_undef(<2 x i8> %x) {
118
120
ret <2 x i16 > %c
119
121
}
120
122
121
- ; TODO: We could convert both uses of %a to ashr.
123
+ ; TODO: We could convert %a to ashr + mask (and) and eliminate %b .
122
124
123
125
define i16 @t8_extrause1 (i8 %x ) {
124
126
; CHECK-LABEL: @t8_extrause1(
@@ -135,7 +137,7 @@ define i16 @t8_extrause1(i8 %x) {
135
137
ret i16 %c
136
138
}
137
139
138
- ; TODO: We could convert both uses of %a to ashr.
140
+ ; TODO: We could convert %a to ashr + mask (and) and eliminate %b .
139
141
140
142
define <2 x i16 > @t9_extrause1_vec_undef (<2 x i8 > %x ) {
141
143
; CHECK-LABEL: @t9_extrause1_vec_undef(
0 commit comments