[Hexagon] Handle Call Operand vxi1 in Hexagon Backend (#128027) · llvm/llvm-project@6525b15 (original) (raw)
`@@ -65,6 +65,8 @@ def CC_Hexagon: CallingConv<[
`
65
65
` CCIfType<[i32],
`
66
66
` CCIfSplit<
`
67
67
` CCCustom<"CC_SkipOdd">>>,
`
``
68
`+
CCIfType<[v4i1], CCPromoteToType>,
`
``
69
`+
CCIfType<[v8i1], CCPromoteToType>,
`
68
70
``
69
71
` CCIfType<[i32,v2i16,v4i8],
`
70
72
` CCAssignToReg<[R0,R1,R2,R3,R4,R5]>>,
`
`@@ -111,6 +113,14 @@ class CCIfHvx128
`
111
113
``
112
114
`def CC_Hexagon_HVX: CallingConv<[
`
113
115
` // HVX 64-byte mode
`
``
116
+
``
117
`+
CCIfHvx64<
`
``
118
`+
CCIfType<[v16i1], CCPromoteToType>>,
`
``
119
`+
CCIfHvx64<
`
``
120
`+
CCIfType<[v32i1], CCPromoteToType>>,
`
``
121
`+
CCIfHvx64<
`
``
122
`+
CCIfType<[v64i1], CCPromoteToType>>,
`
``
123
+
114
124
` CCIfHvx64<
`
115
125
` CCIfType<[v16i32,v32i16,v64i8],
`
116
126
` CCAssignToReg<[V0,V1,V2,V3,V4,V5,V6,V7,V8,V9,V10,V11,V12,V13,V14,V15]>>>,
`
`@@ -125,6 +135,14 @@ def CC_Hexagon_HVX: CallingConv<[
`
125
135
` CCAssignToStack<128,64>>>,
`
126
136
``
127
137
` // HVX 128-byte mode
`
``
138
+
``
139
`+
CCIfHvx128<
`
``
140
`+
CCIfType<[v32i1], CCPromoteToType>>,
`
``
141
`+
CCIfHvx128<
`
``
142
`+
CCIfType<[v64i1], CCPromoteToType>>,
`
``
143
`+
CCIfHvx128<
`
``
144
`+
CCIfType<[v128i1], CCPromoteToType>>,
`
``
145
+
128
146
` CCIfHvx128<
`
129
147
` CCIfType<[v32i32,v64i16,v128i8,v32f32,v64f16],
`
130
148
` CCAssignToReg<[V0,V1,V2,V3,V4,V5,V6,V7,V8,V9,V10,V11,V12,V13,V14,V15]>>>,
`