@@ -939,9 +939,10 @@ fn llvm_fixup_input<'ll, 'tcx>(
939
939
}
940
940
bx. insert_element ( bx. const_undef ( vec_ty) , value, bx. const_i32 ( 0 ) )
941
941
}
942
- ( AArch64 ( AArch64InlineAsmRegClass :: vreg_low16) , BackendRepr :: Vector { element, count } )
943
- if layout. size . bytes ( ) == 8 =>
944
- {
942
+ (
943
+ AArch64 ( AArch64InlineAsmRegClass :: vreg_low16) ,
944
+ BackendRepr :: SimdVector { element, count } ,
945
+ ) if layout. size . bytes ( ) == 8 => {
945
946
let elem_ty = llvm_asm_scalar_type ( bx. cx , element) ;
946
947
let vec_ty = bx. cx . type_vector ( elem_ty, count) ;
947
948
let indices: Vec < _ > = ( 0 ..count * 2 ) . map ( |x| bx. const_i32 ( x as i32 ) ) . collect ( ) ;
@@ -954,7 +955,7 @@ fn llvm_fixup_input<'ll, 'tcx>(
954
955
}
955
956
(
956
957
X86 ( X86InlineAsmRegClass :: xmm_reg | X86InlineAsmRegClass :: zmm_reg) ,
957
- BackendRepr :: Vector { .. } ,
958
+ BackendRepr :: SimdVector { .. } ,
958
959
) if layout. size . bytes ( ) == 64 => bx. bitcast ( value, bx. cx . type_vector ( bx. cx . type_f64 ( ) , 8 ) ) ,
959
960
(
960
961
X86 (
@@ -989,7 +990,7 @@ fn llvm_fixup_input<'ll, 'tcx>(
989
990
| X86InlineAsmRegClass :: ymm_reg
990
991
| X86InlineAsmRegClass :: zmm_reg,
991
992
) ,
992
- BackendRepr :: Vector { element, count : count @ ( 8 | 16 ) } ,
993
+ BackendRepr :: SimdVector { element, count : count @ ( 8 | 16 ) } ,
993
994
) if element. primitive ( ) == Primitive :: Float ( Float :: F16 ) => {
994
995
bx. bitcast ( value, bx. type_vector ( bx. type_i16 ( ) , count) )
995
996
}
@@ -1026,7 +1027,7 @@ fn llvm_fixup_input<'ll, 'tcx>(
1026
1027
| ArmInlineAsmRegClass :: qreg_low4
1027
1028
| ArmInlineAsmRegClass :: qreg_low8,
1028
1029
) ,
1029
- BackendRepr :: Vector { element, count : count @ ( 4 | 8 ) } ,
1030
+ BackendRepr :: SimdVector { element, count : count @ ( 4 | 8 ) } ,
1030
1031
) if element. primitive ( ) == Primitive :: Float ( Float :: F16 ) => {
1031
1032
bx. bitcast ( value, bx. type_vector ( bx. type_i16 ( ) , count) )
1032
1033
}
@@ -1099,9 +1100,10 @@ fn llvm_fixup_output<'ll, 'tcx>(
1099
1100
}
1100
1101
value
1101
1102
}
1102
- ( AArch64 ( AArch64InlineAsmRegClass :: vreg_low16) , BackendRepr :: Vector { element, count } )
1103
- if layout. size . bytes ( ) == 8 =>
1104
- {
1103
+ (
1104
+ AArch64 ( AArch64InlineAsmRegClass :: vreg_low16) ,
1105
+ BackendRepr :: SimdVector { element, count } ,
1106
+ ) if layout. size . bytes ( ) == 8 => {
1105
1107
let elem_ty = llvm_asm_scalar_type ( bx. cx , element) ;
1106
1108
let vec_ty = bx. cx . type_vector ( elem_ty, count * 2 ) ;
1107
1109
let indices: Vec < _ > = ( 0 ..count) . map ( |x| bx. const_i32 ( x as i32 ) ) . collect ( ) ;
@@ -1114,7 +1116,7 @@ fn llvm_fixup_output<'ll, 'tcx>(
1114
1116
}
1115
1117
(
1116
1118
X86 ( X86InlineAsmRegClass :: xmm_reg | X86InlineAsmRegClass :: zmm_reg) ,
1117
- BackendRepr :: Vector { .. } ,
1119
+ BackendRepr :: SimdVector { .. } ,
1118
1120
) if layout. size . bytes ( ) == 64 => bx. bitcast ( value, layout. llvm_type ( bx. cx ) ) ,
1119
1121
(
1120
1122
X86 (
@@ -1145,7 +1147,7 @@ fn llvm_fixup_output<'ll, 'tcx>(
1145
1147
| X86InlineAsmRegClass :: ymm_reg
1146
1148
| X86InlineAsmRegClass :: zmm_reg,
1147
1149
) ,
1148
- BackendRepr :: Vector { element, count : count @ ( 8 | 16 ) } ,
1150
+ BackendRepr :: SimdVector { element, count : count @ ( 8 | 16 ) } ,
1149
1151
) if element. primitive ( ) == Primitive :: Float ( Float :: F16 ) => {
1150
1152
bx. bitcast ( value, bx. type_vector ( bx. type_f16 ( ) , count) )
1151
1153
}
@@ -1182,7 +1184,7 @@ fn llvm_fixup_output<'ll, 'tcx>(
1182
1184
| ArmInlineAsmRegClass :: qreg_low4
1183
1185
| ArmInlineAsmRegClass :: qreg_low8,
1184
1186
) ,
1185
- BackendRepr :: Vector { element, count : count @ ( 4 | 8 ) } ,
1187
+ BackendRepr :: SimdVector { element, count : count @ ( 4 | 8 ) } ,
1186
1188
) if element. primitive ( ) == Primitive :: Float ( Float :: F16 ) => {
1187
1189
bx. bitcast ( value, bx. type_vector ( bx. type_f16 ( ) , count) )
1188
1190
}
@@ -1243,9 +1245,10 @@ fn llvm_fixup_output_type<'ll, 'tcx>(
1243
1245
let count = 16 / layout. size . bytes ( ) ;
1244
1246
cx. type_vector ( elem_ty, count)
1245
1247
}
1246
- ( AArch64 ( AArch64InlineAsmRegClass :: vreg_low16) , BackendRepr :: Vector { element, count } )
1247
- if layout. size . bytes ( ) == 8 =>
1248
- {
1248
+ (
1249
+ AArch64 ( AArch64InlineAsmRegClass :: vreg_low16) ,
1250
+ BackendRepr :: SimdVector { element, count } ,
1251
+ ) if layout. size . bytes ( ) == 8 => {
1249
1252
let elem_ty = llvm_asm_scalar_type ( cx, element) ;
1250
1253
cx. type_vector ( elem_ty, count * 2 )
1251
1254
}
@@ -1256,7 +1259,7 @@ fn llvm_fixup_output_type<'ll, 'tcx>(
1256
1259
}
1257
1260
(
1258
1261
X86 ( X86InlineAsmRegClass :: xmm_reg | X86InlineAsmRegClass :: zmm_reg) ,
1259
- BackendRepr :: Vector { .. } ,
1262
+ BackendRepr :: SimdVector { .. } ,
1260
1263
) if layout. size . bytes ( ) == 64 => cx. type_vector ( cx. type_f64 ( ) , 8 ) ,
1261
1264
(
1262
1265
X86 (
@@ -1284,7 +1287,7 @@ fn llvm_fixup_output_type<'ll, 'tcx>(
1284
1287
| X86InlineAsmRegClass :: ymm_reg
1285
1288
| X86InlineAsmRegClass :: zmm_reg,
1286
1289
) ,
1287
- BackendRepr :: Vector { element, count : count @ ( 8 | 16 ) } ,
1290
+ BackendRepr :: SimdVector { element, count : count @ ( 8 | 16 ) } ,
1288
1291
) if element. primitive ( ) == Primitive :: Float ( Float :: F16 ) => {
1289
1292
cx. type_vector ( cx. type_i16 ( ) , count)
1290
1293
}
@@ -1321,7 +1324,7 @@ fn llvm_fixup_output_type<'ll, 'tcx>(
1321
1324
| ArmInlineAsmRegClass :: qreg_low4
1322
1325
| ArmInlineAsmRegClass :: qreg_low8,
1323
1326
) ,
1324
- BackendRepr :: Vector { element, count : count @ ( 4 | 8 ) } ,
1327
+ BackendRepr :: SimdVector { element, count : count @ ( 4 | 8 ) } ,
1325
1328
) if element. primitive ( ) == Primitive :: Float ( Float :: F16 ) => {
1326
1329
cx. type_vector ( cx. type_i16 ( ) , count)
1327
1330
}
0 commit comments