brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.5 KiB · a4040a0 Raw
75 lines · plain
1; RUN: llc < %s -mtriple=ve -mattr=+vpu | FileCheck %s2 3define void @vld(ptr %p, i64 %i) nounwind {4; CHECK-LABEL: vld:5; CHECK:       # %bb.0:6; CHECK-NEXT:    #APP7; CHECK-NEXT:    lea %s2, 2568; CHECK-NEXT:    #NO_APP9; CHECK-NEXT:    #APP10; CHECK-NEXT:    lvl %s211; CHECK-NEXT:    #NO_APP12; CHECK-NEXT:    #APP13; CHECK-NEXT:    vld %v0, %s1, %s014; CHECK-NEXT:    #NO_APP15; CHECK-NEXT:    b.l.t (, %s10)16  %lvl = tail call i64 asm sideeffect "lea $0, 256", "=r"() nounwind17  tail call void asm sideeffect "lvl $0", "r"(i64 %lvl) nounwind18  tail call <256 x double> asm sideeffect "vld $0, $2, $1", "=v,r,r"(ptr %p, i64 %i) nounwind19  ret void20}21 22define void @vldvst(ptr %p, i64 %i) nounwind {23; CHECK-LABEL: vldvst:24; CHECK:       # %bb.0:25; CHECK-NEXT:    #APP26; CHECK-NEXT:    lea %s2, 25627; CHECK-NEXT:    #NO_APP28; CHECK-NEXT:    #APP29; CHECK-NEXT:    lvl %s230; CHECK-NEXT:    #NO_APP31; CHECK-NEXT:    #APP32; CHECK-NEXT:    vld %v0, %s1, %s033; CHECK-NEXT:    #NO_APP34; CHECK-NEXT:    #APP35; CHECK-NEXT:    vst %v0, %s1, %s036; CHECK-NEXT:    #NO_APP37; CHECK-NEXT:    b.l.t (, %s10)38  %lvl = tail call i64 asm sideeffect "lea $0, 256", "=r"() nounwind39  tail call void asm sideeffect "lvl $0", "r"(i64 %lvl) nounwind40  %1 = tail call <256 x double> asm sideeffect "vld $0, $2, $1", "=v,r,r"(ptr %p, i64 %i) nounwind41  tail call void asm sideeffect "vst $0, $2, $1", "v,r,r"(<256 x double> %1, ptr %p, i64 %i) nounwind42  ret void43}44 45define void @vld2vst2(ptr %p, i64 %i) nounwind {46; CHECK-LABEL: vld2vst2:47; CHECK:       # %bb.0:48; CHECK-NEXT:    #APP49; CHECK-NEXT:    lea %s2, 25650; CHECK-NEXT:    #NO_APP51; CHECK-NEXT:    #APP52; CHECK-NEXT:    lvl %s253; CHECK-NEXT:    #NO_APP54; CHECK-NEXT:    #APP55; CHECK-NEXT:    vld %v0, %s1, %s056; CHECK-NEXT:    #NO_APP57; CHECK-NEXT:    #APP58; CHECK-NEXT:    vld %v1, %s1, %s059; CHECK-NEXT:    #NO_APP60; CHECK-NEXT:    #APP61; CHECK-NEXT:    vst %v0, %s1, %s062; CHECK-NEXT:    #NO_APP63; CHECK-NEXT:    #APP64; CHECK-NEXT:    vst %v1, %s1, %s065; CHECK-NEXT:    #NO_APP66; CHECK-NEXT:    b.l.t (, %s10)67  %lvl = tail call i64 asm sideeffect "lea $0, 256", "=r"() nounwind68  tail call void asm sideeffect "lvl $0", "r"(i64 %lvl) nounwind69  %1 = tail call <256 x double> asm sideeffect "vld $0, $2, $1", "=v,r,r"(ptr %p, i64 %i) nounwind70  %2 = tail call <256 x double> asm sideeffect "vld $0, $2, $1", "=v,r,r"(ptr %p, i64 %i) nounwind71  tail call void asm sideeffect "vst $0, $2, $1", "v,r,r"(<256 x double> %1, ptr %p, i64 %i) nounwind72  tail call void asm sideeffect "vst $0, $2, $1", "v,r,r"(<256 x double> %2, ptr %p, i64 %i) nounwind73  ret void74}75