Auto merge of #126824 - GuillaumeGomez:rollup-sybv8o7, r=GuillaumeGomez · rust-lang/rust@ac47dba (original) (raw)

`@@ -1037,6 +1037,19 @@ fn llvm_fixup_input<'ll, 'tcx>(

`

1037

1037

` value

`

1038

1038

`}

`

1039

1039

`}

`

``

1040

`+

(

`

``

1041

`+

InlineAsmRegClass::Arm(

`

``

1042

`+

ArmInlineAsmRegClass::dreg

`

``

1043

`+

| ArmInlineAsmRegClass::dreg_low8

`

``

1044

`+

| ArmInlineAsmRegClass::dreg_low16

`

``

1045

`+

| ArmInlineAsmRegClass::qreg

`

``

1046

`+

| ArmInlineAsmRegClass::qreg_low4

`

``

1047

`+

| ArmInlineAsmRegClass::qreg_low8,

`

``

1048

`+

),

`

``

1049

`+

Abi::Vector { element, count: count @ (4 | 8) },

`

``

1050

`+

) if element.primitive() == Primitive::Float(Float::F16) => {

`

``

1051

`+

bx.bitcast(value, bx.type_vector(bx.type_i16(), count))

`

``

1052

`+

}

`

1040

1053

`(InlineAsmRegClass::Mips(MipsInlineAsmRegClass::reg), Abi::Scalar(s)) => {

`

1041

1054

`match s.primitive() {

`

1042

1055

`// MIPS only supports register-length arithmetics.

`

`@@ -1158,6 +1171,19 @@ fn llvm_fixup_output<'ll, 'tcx>(

`

1158

1171

` value

`

1159

1172

`}

`

1160

1173

`}

`

``

1174

`+

(

`

``

1175

`+

InlineAsmRegClass::Arm(

`

``

1176

`+

ArmInlineAsmRegClass::dreg

`

``

1177

`+

| ArmInlineAsmRegClass::dreg_low8

`

``

1178

`+

| ArmInlineAsmRegClass::dreg_low16

`

``

1179

`+

| ArmInlineAsmRegClass::qreg

`

``

1180

`+

| ArmInlineAsmRegClass::qreg_low4

`

``

1181

`+

| ArmInlineAsmRegClass::qreg_low8,

`

``

1182

`+

),

`

``

1183

`+

Abi::Vector { element, count: count @ (4 | 8) },

`

``

1184

`+

) if element.primitive() == Primitive::Float(Float::F16) => {

`

``

1185

`+

bx.bitcast(value, bx.type_vector(bx.type_f16(), count))

`

``

1186

`+

}

`

1161

1187

`(InlineAsmRegClass::Mips(MipsInlineAsmRegClass::reg), Abi::Scalar(s)) => {

`

1162

1188

`match s.primitive() {

`

1163

1189

`// MIPS only supports register-length arithmetics.

`

`@@ -1270,6 +1296,19 @@ fn llvm_fixup_output_type<'ll, 'tcx>(

`

1270

1296

` layout.llvm_type(cx)

`

1271

1297

`}

`

1272

1298

`}

`

``

1299

`+

(

`

``

1300

`+

InlineAsmRegClass::Arm(

`

``

1301

`+

ArmInlineAsmRegClass::dreg

`

``

1302

`+

| ArmInlineAsmRegClass::dreg_low8

`

``

1303

`+

| ArmInlineAsmRegClass::dreg_low16

`

``

1304

`+

| ArmInlineAsmRegClass::qreg

`

``

1305

`+

| ArmInlineAsmRegClass::qreg_low4

`

``

1306

`+

| ArmInlineAsmRegClass::qreg_low8,

`

``

1307

`+

),

`

``

1308

`+

Abi::Vector { element, count: count @ (4 | 8) },

`

``

1309

`+

) if element.primitive() == Primitive::Float(Float::F16) => {

`

``

1310

`+

cx.type_vector(cx.type_i16(), count)

`

``

1311

`+

}

`

1273

1312

`(InlineAsmRegClass::Mips(MipsInlineAsmRegClass::reg), Abi::Scalar(s)) => {

`

1274

1313

`match s.primitive() {

`

1275

1314

`// MIPS only supports register-length arithmetics.

`