1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 12:12:47 +01:00
llvm-mirror/test/Bitcode/aarch64-addp-upgrade.ll
Tim Northover 915f8aee2f AArch64: fix bitcode upgrade of @llvm.neon.addp.
We were upgrading it to faddp, but a version taking two type parameters instead
of one. This then got upgraded a second time to the version with just one
parameter, but occasionally (for reasons I don't understand) this unusual
two-stage process corrupted a use-list, leading to a crash when the two faddp
declarations didn't match.
2020-01-14 13:41:32 +00:00

19 lines
788 B
LLVM

; RUN: llvm-dis %p/aarch64-addp-upgrade.bc -o - | FileCheck %s
; Bitcode was generated from file below, which may or may not even assemble any
; more.
; CHECK: call <2 x float> @llvm.aarch64.neon.faddp.v2f32(<2 x float> %lhs, <2 x float> %rhs)
define <2 x float> @test_addp(<2 x float> %lhs, <2 x float> %rhs) {
%res = call <2 x float> @llvm.aarch64.neon.addp.v2f32(<2 x float> %lhs, <2 x float> %rhs)
ret <2 x float> %res
}
; CHECK: call <2 x float> @llvm.aarch64.neon.faddp.v2f32(<2 x float> %lhs, <2 x float> %rhs)
define <2 x float> @test_addp1(<2 x float> %lhs, <2 x float> %rhs) {
%res = call <2 x float> @llvm.aarch64.neon.addp.v2f32(<2 x float> %lhs, <2 x float> %rhs)
ret <2 x float> %res
}
declare <2 x float> @llvm.aarch64.neon.addp.v2f32(<2 x float>, <2 x float>)