xref: /aosp_15_r20/external/llvm/test/CodeGen/AArch64/neon-fpround_f128.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -verify-machineinstrs -mtriple=aarch64-none-linux-gnu -mattr=+neon -fp-contract=fast | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Workerdefine <1 x double> @test_fpround_v1f128(<1 x fp128>* %a) {
4*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_fpround_v1f128:
5*9880d681SAndroid Build Coastguard Worker; CHECK: bl __trunctfdf2
6*9880d681SAndroid Build Coastguard Worker  %b = load <1 x fp128>, <1 x fp128>* %a
7*9880d681SAndroid Build Coastguard Worker  %c = fptrunc <1 x fp128> %b to <1 x double>
8*9880d681SAndroid Build Coastguard Worker  ret <1 x double> %c
9*9880d681SAndroid Build Coastguard Worker}
10*9880d681SAndroid Build Coastguard Worker
11*9880d681SAndroid Build Coastguard Workerdefine <2 x double> @test_fpround_v2f128(<2 x fp128>* %a) {
12*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_fpround_v2f128:
13*9880d681SAndroid Build Coastguard Worker; CHECK: bl __trunctfdf2
14*9880d681SAndroid Build Coastguard Worker; CHECK: bl __trunctfdf2
15*9880d681SAndroid Build Coastguard Worker  %b = load <2 x fp128>, <2 x fp128>* %a
16*9880d681SAndroid Build Coastguard Worker  %c = fptrunc <2 x fp128> %b to <2 x double>
17*9880d681SAndroid Build Coastguard Worker  ret <2 x double> %c
18*9880d681SAndroid Build Coastguard Worker}
19