[ARM] Additional soft float BE test. NFC
authorDavid Green <david.green@arm.com>
Mon, 26 Apr 2021 09:06:28 +0000 (10:06 +0100)
committerDavid Green <david.green@arm.com>
Mon, 26 Apr 2021 10:44:10 +0000 (11:44 +0100)
llvm/test/CodeGen/Thumb2/mve-soft-float-abi.ll

index bceb1f8..a87cff8 100644 (file)
@@ -520,3 +520,27 @@ entry:
   %sum = fadd <2 x double> %lhs, %rhs
   ret <2 x double> %sum
 }
+
+define <4 x i32> @insertextract(i32 %x, i32 %y) {
+; CHECK-LE-LABEL: insertextract:
+; CHECK-LE:       @ %bb.0:
+; CHECK-LE-NEXT:    vdup.32 q0, r0
+; CHECK-LE-NEXT:    vmov.32 q0[3], r1
+; CHECK-LE-NEXT:    vmov r0, r1, d0
+; CHECK-LE-NEXT:    vmov r2, r3, d1
+; CHECK-LE-NEXT:    bx lr
+;
+; CHECK-BE-LABEL: insertextract:
+; CHECK-BE:       @ %bb.0:
+; CHECK-BE-NEXT:    vdup.32 q0, r0
+; CHECK-BE-NEXT:    vmov.32 q0[3], r1
+; CHECK-BE-NEXT:    vrev64.32 q1, q0
+; CHECK-BE-NEXT:    vmov r1, r0, d2
+; CHECK-BE-NEXT:    vmov r3, r2, d3
+; CHECK-BE-NEXT:    bx lr
+  %1 = insertelement <4 x i32> undef, i32 %x, i32 0
+  %2 = insertelement <4 x i32> %1, i32 %x, i32 1
+  %3 = insertelement <4 x i32> %2, i32 %x, i32 2
+  %4 = insertelement <4 x i32> %3, i32 %y, i32 3
+  ret <4 x i32> %4
+}