File tree Expand file tree Collapse file tree 2 files changed +32
-1
lines changed
test/CodeGen/AArch64/GlobalISel Expand file tree Collapse file tree 2 files changed +32
-1
lines changed Original file line number Diff line number Diff line change @@ -1018,7 +1018,9 @@ bool AArch64InstructionSelector::selectVectorSHL(
1018
1018
return false ;
1019
1019
1020
1020
unsigned Opc = 0 ;
1021
- if (Ty == LLT::vector (4 , 32 )) {
1021
+ if (Ty == LLT::vector (2 , 64 )) {
1022
+ Opc = AArch64::USHLv2i64;
1023
+ } else if (Ty == LLT::vector (4 , 32 )) {
1022
1024
Opc = AArch64::USHLv4i32;
1023
1025
} else if (Ty == LLT::vector (2 , 32 )) {
1024
1026
Opc = AArch64::USHLv2i32;
Original file line number Diff line number Diff line change @@ -57,6 +57,35 @@ body: |
57
57
$q0 = COPY %2(<4 x s32>)
58
58
RET_ReallyLR implicit $q0
59
59
60
+ ...
61
+ ---
62
+ name : shl_v2i64
63
+ alignment : 4
64
+ legalized : true
65
+ regBankSelected : true
66
+ tracksRegLiveness : true
67
+ registers :
68
+ - { id: 0, class: fpr }
69
+ - { id: 1, class: fpr }
70
+ - { id: 2, class: fpr }
71
+ machineFunctionInfo : {}
72
+ body : |
73
+ bb.1:
74
+ liveins: $q0, $q1
75
+
76
+ ; CHECK-LABEL: name: shl_v2i64
77
+ ; CHECK: liveins: $q0, $q1
78
+ ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
79
+ ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
80
+ ; CHECK: [[USHLv2i64_:%[0-9]+]]:fpr128 = USHLv2i64 [[COPY]], [[COPY1]]
81
+ ; CHECK: $q0 = COPY [[USHLv2i64_]]
82
+ ; CHECK: RET_ReallyLR implicit $q0
83
+ %0:fpr(<2 x s64>) = COPY $q0
84
+ %1:fpr(<2 x s64>) = COPY $q1
85
+ %2:fpr(<2 x s64>) = G_SHL %0, %1(<2 x s64>)
86
+ $q0 = COPY %2(<2 x s64>)
87
+ RET_ReallyLR implicit $q0
88
+
60
89
...
61
90
---
62
91
name : ashr_v2i32
You can’t perform that action at this time.
0 commit comments