brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.7 KiB · 0028b3d Raw
46 lines · plain
1; RUN: llc -mcpu=swift -mtriple=thumbv7s-apple-ios -o - %s | FileCheck %s --check-prefixes=CHECK,CHECK-STRIDE42; RUN: llc -mcpu=swift -mtriple=thumbv7k-apple-watchos -o - %s | FileCheck %s --check-prefixes=CHECK,CHECK-STRIDE4-WATCH3; RUN: llc -mcpu=cortex-a57 -mtriple=thumbv7-linux-gnueabihf -o - %s | FileCheck %s --check-prefixes=CHECK,CHECK-GENERIC4; RUN: llc -mattr=wide-stride-vfp -mtriple=thumbv7-linux-gnueabihf -o - %s | FileCheck %s --check-prefixes=CHECK,CHECK-GENERIC45 6; CHECK-LABEL: test_reg_stride:7define void @test_reg_stride(double %a, double %b) {8; CHECK-STRIDE4-DAG: vmov d16, r9; CHECK-STRIDE4-DAG: vmov d18, r10 11; CHECK-STRIDE4-WATCH-DAG: vmov.f64 d16, d12; CHECK-STRIDE4-WATCH-DAG: vmov.f64 d18, d13 14; CHECK-GENERIC-DAG: vmov.f64 d16, {{d[01]}}15; CHECK-GENERIC-DAG: vmov.f64 d17, {{d[01]}}16 17; CHECK-GENERIC4-DAG: vmov.f64 d16, {{d[01]}}18; CHECK-GENERIC4-DAG: vmov.f64 d18, {{d[01]}}19 20  call void asm "", "~{r0},~{r1},~{d0},~{d1}"()21  call arm_aapcs_vfpcc void @eat_doubles(double %a, double %b)22  ret void23}24 25; CHECK-LABEL: test_stride_minsize:26define void @test_stride_minsize(float %a, float %b) minsize {27; CHECK-STRIDE4: vmov d2, {{r[01]}}28; CHECK-STRIDE4: vmov d3, {{r[01]}}29 30; CHECK-STRIDE4-WATCH-DAG: vmov.f32 s4, {{s[01]}}31; CHECK-STRIDE4-WATCH-DAG: vmov.f32 s8, {{s[01]}}32 33; CHECK-GENERIC-DAG: vmov.f32 s4, {{s[01]}}34; CHECK-GENERIC-DAG: vmov.f32 s6, {{s[01]}}35 36; CHECK-GENERIC4-DAG: vmov.f32 s4, {{s[01]}}37; CHECK-GENERIC4-DAG: vmov.f32 s6, {{s[01]}}38 39  call void asm "", "~{r0},~{r1},~{s0},~{s1},~{d0},~{d1}"()40  call arm_aapcs_vfpcc void @eat_floats(float %a, float %b)41  ret void42}43 44declare arm_aapcs_vfpcc void @eat_doubles(double, double)45declare arm_aapcs_vfpcc void @eat_floats(float, float)46