Commit 1ad74c5
committed
[AArch64][SDAG] Detect non-zeroes in truncating buildvectors in fshl lowering
A BUILD_VECTOR can implicity shrink the bits of the operands if the operand
types are not legal. For example a v8i16 constant BUILD_VECTOR might be
represented as v8i16 BUILDVECTOR(i32 1, i32 2, ...). Unfortunately this means
that the constants are not accepted by matchUnaryPredicateImpl, preventing in
this case funnel shifts detecting that all the operands are non-zero. Add a
flag to help it match.1 parent 27a2d3d commit 1ad74c5
File tree
6 files changed
+26
-39
lines changed- llvm
- include/llvm/CodeGen
- lib/CodeGen/SelectionDAG
- test/CodeGen/AArch64
6 files changed
+26
-39
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3261 | 3261 | | |
3262 | 3262 | | |
3263 | 3263 | | |
3264 | | - | |
| 3264 | + | |
| 3265 | + | |
3265 | 3266 | | |
3266 | 3267 | | |
3267 | 3268 | | |
3268 | 3269 | | |
3269 | | - | |
3270 | | - | |
| 3270 | + | |
| 3271 | + | |
| 3272 | + | |
| 3273 | + | |
3271 | 3274 | | |
3272 | 3275 | | |
3273 | 3276 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
363 | 363 | | |
364 | 364 | | |
365 | 365 | | |
366 | | - | |
| 366 | + | |
367 | 367 | | |
368 | 368 | | |
369 | 369 | | |
| |||
382 | 382 | | |
383 | 383 | | |
384 | 384 | | |
385 | | - | |
| 385 | + | |
386 | 386 | | |
387 | 387 | | |
388 | 388 | | |
389 | 389 | | |
390 | 390 | | |
391 | 391 | | |
392 | | - | |
| 392 | + | |
393 | 393 | | |
394 | | - | |
| 394 | + | |
395 | 395 | | |
396 | 396 | | |
397 | 397 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7970 | 7970 | | |
7971 | 7971 | | |
7972 | 7972 | | |
7973 | | - | |
| 7973 | + | |
7974 | 7974 | | |
7975 | 7975 | | |
7976 | 7976 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3909 | 3909 | | |
3910 | 3910 | | |
3911 | 3911 | | |
3912 | | - | |
3913 | 3912 | | |
3914 | | - | |
| 3913 | + | |
3915 | 3914 | | |
3916 | 3915 | | |
3917 | 3916 | | |
| |||
3928 | 3927 | | |
3929 | 3928 | | |
3930 | 3929 | | |
3931 | | - | |
3932 | | - | |
| 3930 | + | |
3933 | 3931 | | |
3934 | 3932 | | |
3935 | 3933 | | |
| |||
3947 | 3945 | | |
3948 | 3946 | | |
3949 | 3947 | | |
3950 | | - | |
3951 | 3948 | | |
3952 | | - | |
| 3949 | + | |
3953 | 3950 | | |
3954 | 3951 | | |
3955 | 3952 | | |
| |||
3966 | 3963 | | |
3967 | 3964 | | |
3968 | 3965 | | |
3969 | | - | |
3970 | | - | |
| 3966 | + | |
3971 | 3967 | | |
3972 | 3968 | | |
3973 | 3969 | | |
| |||
3985 | 3981 | | |
3986 | 3982 | | |
3987 | 3983 | | |
3988 | | - | |
3989 | 3984 | | |
3990 | | - | |
| 3985 | + | |
3991 | 3986 | | |
3992 | 3987 | | |
3993 | 3988 | | |
| |||
4004 | 3999 | | |
4005 | 4000 | | |
4006 | 4001 | | |
4007 | | - | |
4008 | | - | |
| 4002 | + | |
4009 | 4003 | | |
4010 | 4004 | | |
4011 | 4005 | | |
| |||
4024 | 4018 | | |
4025 | 4019 | | |
4026 | 4020 | | |
4027 | | - | |
4028 | 4021 | | |
4029 | 4022 | | |
4030 | 4023 | | |
| |||
4066 | 4059 | | |
4067 | 4060 | | |
4068 | 4061 | | |
4069 | | - | |
4070 | 4062 | | |
4071 | 4063 | | |
4072 | 4064 | | |
| |||
4105 | 4097 | | |
4106 | 4098 | | |
4107 | 4099 | | |
4108 | | - | |
4109 | 4100 | | |
4110 | | - | |
| 4101 | + | |
4111 | 4102 | | |
4112 | 4103 | | |
4113 | 4104 | | |
| |||
4124 | 4115 | | |
4125 | 4116 | | |
4126 | 4117 | | |
4127 | | - | |
4128 | | - | |
| 4118 | + | |
4129 | 4119 | | |
4130 | 4120 | | |
4131 | 4121 | | |
| |||
4143 | 4133 | | |
4144 | 4134 | | |
4145 | 4135 | | |
4146 | | - | |
4147 | | - | |
4148 | | - | |
4149 | 4136 | | |
4150 | | - | |
4151 | | - | |
| 4137 | + | |
| 4138 | + | |
| 4139 | + | |
4152 | 4140 | | |
4153 | 4141 | | |
4154 | 4142 | | |
| |||
4168 | 4156 | | |
4169 | 4157 | | |
4170 | 4158 | | |
4171 | | - | |
4172 | | - | |
4173 | | - | |
4174 | | - | |
| 4159 | + | |
| 4160 | + | |
4175 | 4161 | | |
4176 | 4162 | | |
4177 | 4163 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
144 | 144 | | |
145 | 145 | | |
146 | 146 | | |
147 | | - | |
148 | | - | |
| 147 | + | |
149 | 148 | | |
150 | 149 | | |
151 | 150 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
152 | 152 | | |
153 | 153 | | |
154 | 154 | | |
155 | | - | |
156 | | - | |
| 155 | + | |
157 | 156 | | |
158 | 157 | | |
159 | 158 | | |
| |||
0 commit comments