[llvm] 7474962 - [Hexagon] build-vector-float-type.ll - regenerate test checks
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Mon Jul 7 06:35:51 PDT 2025
Author: Simon Pilgrim
Date: 2025-07-07T14:33:17+01:00
New Revision: 747496269a449dec63090a1c99375867390fa313
URL: https://github.com/llvm/llvm-project/commit/747496269a449dec63090a1c99375867390fa313
DIFF: https://github.com/llvm/llvm-project/commit/747496269a449dec63090a1c99375867390fa313.diff
LOG: [Hexagon] build-vector-float-type.ll - regenerate test checks
Added:
Modified:
llvm/test/CodeGen/Hexagon/autohvx/build-vector-float-type.ll
Removed:
################################################################################
diff --git a/llvm/test/CodeGen/Hexagon/autohvx/build-vector-float-type.ll b/llvm/test/CodeGen/Hexagon/autohvx/build-vector-float-type.ll
index d56520da78ae2..965f3c684963a 100644
--- a/llvm/test/CodeGen/Hexagon/autohvx/build-vector-float-type.ll
+++ b/llvm/test/CodeGen/Hexagon/autohvx/build-vector-float-type.ll
@@ -1,3 +1,4 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
; RUN: llc -mtriple=hexagon < %s | FileCheck %s
; Check that this code does compile.
@@ -6,9 +7,248 @@ target datalayout = "e-m:e-p:32:32:32-a:0-n16:32-i64:64:64-i32:32:32-i16:16:16-i
target triple = "hexagon"
; Function Attrs: nounwind
-; CHECK-LABEL: f0:
-; CHECK: vinsert
define <32 x float> @f0(ptr %a0, ptr %a1) #0 {
+; CHECK-LABEL: f0:
+; CHECK: // %bb.0: // %b0
+; CHECK-NEXT: {
+; CHECK-NEXT: v0 = vxor(v0,v0)
+; CHECK-NEXT: r2 = memw(r0+#0)
+; CHECK-NEXT: r6 = memw(r0+#8)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1 = v0
+; CHECK-NEXT: r3 = memw(r0+#64)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: r2 = memw(r1+r2<<#2)
+; CHECK-NEXT: r4 = memw(r0+#4)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1.w = vinsert(r2)
+; CHECK-NEXT: r3 = memw(r1+r3<<#2)
+; CHECK-NEXT: r2 = memw(r0+#68)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0.w = vinsert(r3)
+; CHECK-NEXT: r7 = memw(r1+r4<<#2)
+; CHECK-NEXT: r3 = memw(r0+#72)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1 = valign(v1,v1,#4)
+; CHECK-NEXT: r2 = memw(r1+r2<<#2)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1.w = vinsert(r7)
+; CHECK-NEXT: v0 = valign(v0,v0,#4)
+; CHECK-NEXT: r7 = memw(r1+r6<<#2)
+; CHECK-NEXT: r6 = memw(r0+#12)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0.w = vinsert(r2)
+; CHECK-NEXT: r3 = memw(r1+r3<<#2)
+; CHECK-NEXT: r2 = memw(r0+#76)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1 = valign(v1,v1,#4)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1.w = vinsert(r7)
+; CHECK-NEXT: v0 = valign(v0,v0,#4)
+; CHECK-NEXT: r7 = memw(r1+r6<<#2)
+; CHECK-NEXT: r6 = memw(r0+#16)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0.w = vinsert(r3)
+; CHECK-NEXT: r2 = memw(r1+r2<<#2)
+; CHECK-NEXT: r3 = memw(r0+#80)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1 = valign(v1,v1,#4)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1.w = vinsert(r7)
+; CHECK-NEXT: v0 = valign(v0,v0,#4)
+; CHECK-NEXT: r7 = memw(r1+r6<<#2)
+; CHECK-NEXT: r6 = memw(r0+#20)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0.w = vinsert(r2)
+; CHECK-NEXT: r3 = memw(r1+r3<<#2)
+; CHECK-NEXT: r2 = memw(r0+#84)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1 = valign(v1,v1,#4)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1.w = vinsert(r7)
+; CHECK-NEXT: v0 = valign(v0,v0,#4)
+; CHECK-NEXT: r7 = memw(r1+r6<<#2)
+; CHECK-NEXT: r6 = memw(r0+#24)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0.w = vinsert(r3)
+; CHECK-NEXT: r2 = memw(r1+r2<<#2)
+; CHECK-NEXT: r3 = memw(r0+#88)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1 = valign(v1,v1,#4)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1.w = vinsert(r7)
+; CHECK-NEXT: v0 = valign(v0,v0,#4)
+; CHECK-NEXT: r7 = memw(r1+r6<<#2)
+; CHECK-NEXT: r6 = memw(r0+#28)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0.w = vinsert(r2)
+; CHECK-NEXT: r3 = memw(r1+r3<<#2)
+; CHECK-NEXT: r2 = memw(r0+#92)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1 = valign(v1,v1,#4)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1.w = vinsert(r7)
+; CHECK-NEXT: v0 = valign(v0,v0,#4)
+; CHECK-NEXT: r7 = memw(r1+r6<<#2)
+; CHECK-NEXT: r6 = memw(r0+#32)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0.w = vinsert(r3)
+; CHECK-NEXT: r2 = memw(r1+r2<<#2)
+; CHECK-NEXT: r3 = memw(r0+#96)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1 = valign(v1,v1,#4)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1.w = vinsert(r7)
+; CHECK-NEXT: v0 = valign(v0,v0,#4)
+; CHECK-NEXT: r7 = memw(r1+r6<<#2)
+; CHECK-NEXT: r6 = memw(r0+#36)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0.w = vinsert(r2)
+; CHECK-NEXT: r3 = memw(r1+r3<<#2)
+; CHECK-NEXT: r2 = memw(r0+#100)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1 = valign(v1,v1,#4)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1.w = vinsert(r7)
+; CHECK-NEXT: v0 = valign(v0,v0,#4)
+; CHECK-NEXT: r7 = memw(r1+r6<<#2)
+; CHECK-NEXT: r6 = memw(r0+#40)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0.w = vinsert(r3)
+; CHECK-NEXT: r2 = memw(r1+r2<<#2)
+; CHECK-NEXT: r3 = memw(r0+#104)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1 = valign(v1,v1,#4)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1.w = vinsert(r7)
+; CHECK-NEXT: v0 = valign(v0,v0,#4)
+; CHECK-NEXT: r7 = memw(r1+r6<<#2)
+; CHECK-NEXT: r6 = memw(r0+#44)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0.w = vinsert(r2)
+; CHECK-NEXT: r3 = memw(r1+r3<<#2)
+; CHECK-NEXT: r2 = memw(r0+#108)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1 = valign(v1,v1,#4)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1.w = vinsert(r7)
+; CHECK-NEXT: v0 = valign(v0,v0,#4)
+; CHECK-NEXT: r7 = memw(r1+r6<<#2)
+; CHECK-NEXT: r6 = memw(r0+#48)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0.w = vinsert(r3)
+; CHECK-NEXT: r2 = memw(r1+r2<<#2)
+; CHECK-NEXT: r3 = memw(r0+#112)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1 = valign(v1,v1,#4)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1.w = vinsert(r7)
+; CHECK-NEXT: v0 = valign(v0,v0,#4)
+; CHECK-NEXT: r7 = memw(r1+r6<<#2)
+; CHECK-NEXT: r6 = memw(r0+#52)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0.w = vinsert(r2)
+; CHECK-NEXT: r3 = memw(r1+r3<<#2)
+; CHECK-NEXT: r2 = memw(r0+#116)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1 = valign(v1,v1,#4)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1.w = vinsert(r7)
+; CHECK-NEXT: v0 = valign(v0,v0,#4)
+; CHECK-NEXT: r7 = memw(r1+r6<<#2)
+; CHECK-NEXT: r6 = memw(r0+#56)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0.w = vinsert(r3)
+; CHECK-NEXT: r2 = memw(r1+r2<<#2)
+; CHECK-NEXT: r3 = memw(r0+#120)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1 = valign(v1,v1,#4)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1.w = vinsert(r7)
+; CHECK-NEXT: v0 = valign(v0,v0,#4)
+; CHECK-NEXT: r7 = memw(r1+r6<<#2)
+; CHECK-NEXT: r6 = memw(r0+#60)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0.w = vinsert(r2)
+; CHECK-NEXT: r2 = #68
+; CHECK-NEXT: r3 = memw(r1+r3<<#2)
+; CHECK-NEXT: r5 = memw(r0+#124)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1 = valign(v1,v1,#4)
+; CHECK-NEXT: r4 = memw(r1+r6<<#2)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1.w = vinsert(r7)
+; CHECK-NEXT: v0 = valign(v0,v0,#4)
+; CHECK-NEXT: r0 = memw(r1+r5<<#2)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0.w = vinsert(r3)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1 = valign(v1,v1,#4)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1.w = vinsert(r4)
+; CHECK-NEXT: v0 = valign(v0,v0,#4)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0.w = vinsert(r0)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1 = vror(v1,r2)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0 = valign(v0,v0,#4)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0 = vor(v1,v0)
+; CHECK-NEXT: jumpr r31
+; CHECK-NEXT: }
b0:
%v1 = load i32, ptr %a0, align 4
%v2 = getelementptr float, ptr %a1, i32 %v1
@@ -173,9 +413,380 @@ b0:
}
; Function Attrs: nounwind
-; CHECK-LABEL: f1:
-; CHECK: vinsert
define <64 x half> @f1(ptr %a0, ptr %a1) #0 {
+; CHECK-LABEL: f1:
+; CHECK: // %bb.0: // %b0
+; CHECK-NEXT: {
+; CHECK-NEXT: v0 = vxor(v0,v0)
+; CHECK-NEXT: r6 = memw(r0+#0)
+; CHECK-NEXT: r2 = memw(r0+#16)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1 = v0
+; CHECK-NEXT: r8 = memw(r0+#4)
+; CHECK-NEXT: r4 = memw(r0+#24)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: r7 = memw(r0+#8)
+; CHECK-NEXT: r3 = memw(r0+#20)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: r5 = memw(r0+#28)
+; CHECK-NEXT: r9 = memw(r0+#12)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: r6 = memuh(r1+r6<<#1)
+; CHECK-NEXT: r8 = memuh(r1+r8<<#1)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: r8 = combine(r8.l,r6.l)
+; CHECK-NEXT: r14 = memw(r0+#128)
+; CHECK-NEXT: r6 = memuh(r1+r5<<#1)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1.w = vinsert(r8)
+; CHECK-NEXT: r5 = memw(r0+#136)
+; CHECK-NEXT: r2 = memuh(r1+r2<<#1)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: r3 = memuh(r1+r3<<#1)
+; CHECK-NEXT: r4 = memuh(r1+r4<<#1)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: r3 = combine(r3.l,r2.l)
+; CHECK-NEXT: r2 = combine(r6.l,r4.l)
+; CHECK-NEXT: r12 = memw(r0+#132)
+; CHECK-NEXT: r6 = memw(r0+#140)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1 = valign(v1,v1,#4)
+; CHECK-NEXT: r7 = memuh(r1+r7<<#1)
+; CHECK-NEXT: r9 = memuh(r1+r9<<#1)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: r7 = combine(r9.l,r7.l)
+; CHECK-NEXT: r9 = memuh(r1+r14<<#1)
+; CHECK-NEXT: r12 = memuh(r1+r12<<#1)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1.w = vinsert(r7)
+; CHECK-NEXT: r15 = combine(r12.l,r9.l)
+; CHECK-NEXT: r5 = memuh(r1+r5<<#1)
+; CHECK-NEXT: r6 = memuh(r1+r6<<#1)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0.w = vinsert(r15)
+; CHECK-NEXT: r5 = combine(r6.l,r5.l)
+; CHECK-NEXT: r6 = memw(r0+#144)
+; CHECK-NEXT: r4 = memw(r0+#32)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1 = valign(v1,v1,#4)
+; CHECK-NEXT: r7 = memw(r0+#148)
+; CHECK-NEXT: r28 = memw(r0+#36)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1.w = vinsert(r3)
+; CHECK-NEXT: v0 = valign(v0,v0,#4)
+; CHECK-NEXT: r6 = memuh(r1+r6<<#1)
+; CHECK-NEXT: r10 = memw(r0+#40)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0.w = vinsert(r5)
+; CHECK-NEXT: r7 = memuh(r1+r7<<#1)
+; CHECK-NEXT: r4 = memuh(r1+r4<<#1)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: r6 = combine(r7.l,r6.l)
+; CHECK-NEXT: v1 = valign(v1,v1,#4)
+; CHECK-NEXT: r7 = memw(r0+#152)
+; CHECK-NEXT: r9 = memuh(r1+r28<<#1)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1.w = vinsert(r2)
+; CHECK-NEXT: v0 = valign(v0,v0,#4)
+; CHECK-NEXT: r3 = memw(r0+#156)
+; CHECK-NEXT: r5 = memw(r0+#44)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0.w = vinsert(r6)
+; CHECK-NEXT: r4 = combine(r9.l,r4.l)
+; CHECK-NEXT: r7 = memuh(r1+r7<<#1)
+; CHECK-NEXT: r11 = memw(r0+#48)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1 = valign(v1,v1,#4)
+; CHECK-NEXT: r3 = memuh(r1+r3<<#1)
+; CHECK-NEXT: r6 = memw(r0+#52)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1.w = vinsert(r4)
+; CHECK-NEXT: r3 = combine(r3.l,r7.l)
+; CHECK-NEXT: v0 = valign(v0,v0,#4)
+; CHECK-NEXT: r7 = memw(r0+#160)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0.w = vinsert(r3)
+; CHECK-NEXT: r2 = memw(r0+#164)
+; CHECK-NEXT: r13 = memw(r0+#168)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1 = valign(v1,v1,#4)
+; CHECK-NEXT: r7 = memuh(r1+r7<<#1)
+; CHECK-NEXT: r8 = memuh(r1+r10<<#1)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0 = valign(v0,v0,#4)
+; CHECK-NEXT: r2 = memuh(r1+r2<<#1)
+; CHECK-NEXT: r5 = memuh(r1+r5<<#1)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: r2 = combine(r2.l,r7.l)
+; CHECK-NEXT: r5 = combine(r5.l,r8.l)
+; CHECK-NEXT: r7 = memw(r0+#172)
+; CHECK-NEXT: r9 = memuh(r1+r11<<#1)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0.w = vinsert(r2)
+; CHECK-NEXT: v1.w = vinsert(r5)
+; CHECK-NEXT: r6 = memuh(r1+r6<<#1)
+; CHECK-NEXT: r14 = memw(r0+#176)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: r6 = combine(r6.l,r9.l)
+; CHECK-NEXT: r9 = memuh(r1+r13<<#1)
+; CHECK-NEXT: r7 = memuh(r1+r7<<#1)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: r7 = combine(r7.l,r9.l)
+; CHECK-NEXT: v0 = valign(v0,v0,#4)
+; CHECK-NEXT: r12 = memw(r0+#56)
+; CHECK-NEXT: r15 = memw(r0+#180)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0.w = vinsert(r7)
+; CHECK-NEXT: v1 = valign(v1,v1,#4)
+; CHECK-NEXT: r3 = memw(r0+#60)
+; CHECK-NEXT: r4 = memw(r0+#64)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1.w = vinsert(r6)
+; CHECK-NEXT: r7 = memuh(r1+r14<<#1)
+; CHECK-NEXT: r28 = memuh(r1+r15<<#1)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: r7 = combine(r28.l,r7.l)
+; CHECK-NEXT: v0 = valign(v0,v0,#4)
+; CHECK-NEXT: r2 = memw(r0+#68)
+; CHECK-NEXT: r6 = memw(r0+#184)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0.w = vinsert(r7)
+; CHECK-NEXT: v1 = valign(v1,v1,#4)
+; CHECK-NEXT: r8 = memuh(r1+r12<<#1)
+; CHECK-NEXT: r3 = memuh(r1+r3<<#1)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: r3 = combine(r3.l,r8.l)
+; CHECK-NEXT: r7 = memw(r0+#188)
+; CHECK-NEXT: r5 = memw(r0+#72)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1.w = vinsert(r3)
+; CHECK-NEXT: v0 = valign(v0,v0,#4)
+; CHECK-NEXT: r4 = memuh(r1+r4<<#1)
+; CHECK-NEXT: r2 = memuh(r1+r2<<#1)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: r2 = combine(r2.l,r4.l)
+; CHECK-NEXT: r4 = memw(r0+#76)
+; CHECK-NEXT: r6 = memuh(r1+r6<<#1)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1 = valign(v1,v1,#4)
+; CHECK-NEXT: r7 = memuh(r1+r7<<#1)
+; CHECK-NEXT: r5 = memuh(r1+r5<<#1)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1.w = vinsert(r2)
+; CHECK-NEXT: r6 = combine(r7.l,r6.l)
+; CHECK-NEXT: r4 = memuh(r1+r4<<#1)
+; CHECK-NEXT: r7 = memw(r0+#88)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0.w = vinsert(r6)
+; CHECK-NEXT: r4 = combine(r4.l,r5.l)
+; CHECK-NEXT: r6 = memw(r0+#192)
+; CHECK-NEXT: r10 = memw(r0+#80)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1 = valign(v1,v1,#4)
+; CHECK-NEXT: r5 = memw(r0+#92)
+; CHECK-NEXT: r2 = memw(r0+#196)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1.w = vinsert(r4)
+; CHECK-NEXT: v0 = valign(v0,v0,#4)
+; CHECK-NEXT: r3 = memw(r0+#84)
+; CHECK-NEXT: r7 = memuh(r1+r7<<#1)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: r5 = memuh(r1+r5<<#1)
+; CHECK-NEXT: r6 = memuh(r1+r6<<#1)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: r4 = combine(r5.l,r7.l)
+; CHECK-NEXT: v1 = valign(v1,v1,#4)
+; CHECK-NEXT: r2 = memuh(r1+r2<<#1)
+; CHECK-NEXT: r11 = memw(r0+#200)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: r2 = combine(r2.l,r6.l)
+; CHECK-NEXT: r5 = memw(r0+#204)
+; CHECK-NEXT: r8 = memuh(r1+r10<<#1)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0.w = vinsert(r2)
+; CHECK-NEXT: r3 = memuh(r1+r3<<#1)
+; CHECK-NEXT: r7 = memuh(r1+r11<<#1)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: r3 = combine(r3.l,r8.l)
+; CHECK-NEXT: r5 = memuh(r1+r5<<#1)
+; CHECK-NEXT: r6 = memw(r0+#96)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1.w = vinsert(r3)
+; CHECK-NEXT: r5 = combine(r5.l,r7.l)
+; CHECK-NEXT: v0 = valign(v0,v0,#4)
+; CHECK-NEXT: r3 = memw(r0+#208)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0.w = vinsert(r5)
+; CHECK-NEXT: r7 = memw(r0+#212)
+; CHECK-NEXT: r2 = memw(r0+#100)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1 = valign(v1,v1,#4)
+; CHECK-NEXT: r3 = memuh(r1+r3<<#1)
+; CHECK-NEXT: r5 = memw(r0+#104)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1.w = vinsert(r4)
+; CHECK-NEXT: v0 = valign(v0,v0,#4)
+; CHECK-NEXT: r7 = memuh(r1+r7<<#1)
+; CHECK-NEXT: r4 = memw(r0+#108)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: r3 = combine(r7.l,r3.l)
+; CHECK-NEXT: r7 = memw(r0+#216)
+; CHECK-NEXT: r6 = memuh(r1+r6<<#1)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0.w = vinsert(r3)
+; CHECK-NEXT: v1 = valign(v1,v1,#4)
+; CHECK-NEXT: r2 = memuh(r1+r2<<#1)
+; CHECK-NEXT: r3 = memw(r0+#220)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: r2 = combine(r2.l,r6.l)
+; CHECK-NEXT: r5 = memuh(r1+r5<<#1)
+; CHECK-NEXT: r4 = memuh(r1+r4<<#1)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1.w = vinsert(r2)
+; CHECK-NEXT: r4 = combine(r4.l,r5.l)
+; CHECK-NEXT: r2 = memw(r0+#224)
+; CHECK-NEXT: r6 = memuh(r1+r7<<#1)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0 = valign(v0,v0,#4)
+; CHECK-NEXT: r3 = memuh(r1+r3<<#1)
+; CHECK-NEXT: r5 = memw(r0+#228)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: r3 = combine(r3.l,r6.l)
+; CHECK-NEXT: v1 = valign(v1,v1,#4)
+; CHECK-NEXT: r6 = memw(r0+#112)
+; CHECK-NEXT: r2 = memuh(r1+r2<<#1)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0.w = vinsert(r3)
+; CHECK-NEXT: v1.w = vinsert(r4)
+; CHECK-NEXT: r3 = memw(r0+#116)
+; CHECK-NEXT: r4 = memw(r0+#232)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: r5 = memuh(r1+r5<<#1)
+; CHECK-NEXT: r7 = memuh(r1+r6<<#1)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: r2 = combine(r5.l,r2.l)
+; CHECK-NEXT: v0 = valign(v0,v0,#4)
+; CHECK-NEXT: r5 = memw(r0+#236)
+; CHECK-NEXT: r3 = memuh(r1+r3<<#1)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0.w = vinsert(r2)
+; CHECK-NEXT: r2 = combine(r3.l,r7.l)
+; CHECK-NEXT: v1 = valign(v1,v1,#4)
+; CHECK-NEXT: r3 = memw(r0+#240)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1.w = vinsert(r2)
+; CHECK-NEXT: r4 = memuh(r1+r4<<#1)
+; CHECK-NEXT: r5 = memuh(r1+r5<<#1)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: r4 = combine(r5.l,r4.l)
+; CHECK-NEXT: v0 = valign(v0,v0,#4)
+; CHECK-NEXT: r2 = memw(r0+#120)
+; CHECK-NEXT: r6 = memw(r0+#244)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0.w = vinsert(r4)
+; CHECK-NEXT: v1 = valign(v1,v1,#4)
+; CHECK-NEXT: r7 = memw(r0+#124)
+; CHECK-NEXT: r3 = memuh(r1+r3<<#1)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: r5 = memuh(r1+r6<<#1)
+; CHECK-NEXT: r6 = memw(r0+#248)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: r3 = combine(r5.l,r3.l)
+; CHECK-NEXT: v0 = valign(v0,v0,#4)
+; CHECK-NEXT: r0 = memw(r0+#252)
+; CHECK-NEXT: r2 = memuh(r1+r2<<#1)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0.w = vinsert(r3)
+; CHECK-NEXT: r7 = memuh(r1+r7<<#1)
+; CHECK-NEXT: r6 = memuh(r1+r6<<#1)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: r3 = combine(r7.l,r2.l)
+; CHECK-NEXT: r2 = #68
+; CHECK-NEXT: r0 = memuh(r1+r0<<#1)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1.w = vinsert(r3)
+; CHECK-NEXT: r0 = combine(r0.l,r6.l)
+; CHECK-NEXT: v0 = valign(v0,v0,#4)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0.w = vinsert(r0)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v1 = vror(v1,r2)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0 = valign(v0,v0,#4)
+; CHECK-NEXT: }
+; CHECK-NEXT: {
+; CHECK-NEXT: v0 = vor(v1,v0)
+; CHECK-NEXT: jumpr r31
+; CHECK-NEXT: }
b0:
%v1 = load i32, ptr %a0, align 4
%v2 = getelementptr half, ptr %a1, i32 %v1
More information about the llvm-commits
mailing list