mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 10:42:39 +01:00
915f8aee2f
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.
19 lines
788 B
LLVM
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>)
|