68 lines · plain
1; RUN: llc -mtriple=aarch64-linux-gnuabi -O0 -fast-isel < %s | FileCheck %s2; RUN: llc -mtriple=aarch64_be-linux-gnuabi -O0 -fast-isel < %s | FileCheck %s --check-prefix=CHECK-BE3 4define void @test_bitcast_v8f16_to_v4f32(<8 x half> %a) {5; CHECK-LABEL: test_bitcast_v8f16_to_v4f32:6; CHECK-NOT: st17 8; CHECK-BE-LABEL: test_bitcast_v8f16_to_v4f32:9; CHECK-BE: st110 11 %x = alloca <4 x float>, align 1612 %y = bitcast <8 x half> %a to <4 x float>13 store <4 x float> %y, ptr %x, align 1614 ret void15}16 17define void @test_bitcast_v8f16_to_v2f64(<8 x half> %a) {18; CHECK-LABEL: test_bitcast_v8f16_to_v2f64:19; CHECK-NOT: st120 21; CHECK-BE-LABEL: test_bitcast_v8f16_to_v2f64:22; CHECK-BE: st123 24 %x = alloca <2 x double>, align 1625 %y = bitcast <8 x half> %a to <2 x double>26 store <2 x double> %y, ptr %x, align 1627 ret void28}29 30define void @test_bitcast_v8f16_to_fp128(<8 x half> %a) {31; CHECK-LABEL: test_bitcast_v8f16_to_fp128:32; CHECK-NOT: st133 34; CHECK-BE-LABEL: test_bitcast_v8f16_to_fp128:35; CHECK-BE: st136 37 %x = alloca fp128, align 1638 %y = bitcast <8 x half> %a to fp12839 store fp128 %y, ptr %x, align 1640 ret void41}42 43define void @test_bitcast_v4f16_to_v2f32(<4 x half> %a) {44; CHECK-LABEL: test_bitcast_v4f16_to_v2f32:45; CHECK-NOT: st146 47; CHECK-BE-LABEL: test_bitcast_v4f16_to_v2f32:48; CHECK-BE: st149 50 %x = alloca <2 x float>, align 851 %y = bitcast <4 x half> %a to <2 x float>52 store <2 x float> %y, ptr %x, align 853 ret void54}55 56define void @test_bitcast_v4f16_to_v1f64(<4 x half> %a) {57; CHECK-LABEL: test_bitcast_v4f16_to_v1f64:58; CHECK-NOT: st159 60; CHECK-BE-LABEL: test_bitcast_v4f16_to_v1f64:61; CHECK-BE: st162 63 %x = alloca <1 x double>, align 864 %y = bitcast <4 x half> %a to <1 x double>65 store <1 x double> %y, ptr %x, align 866 ret void67}68