Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / CodeGen / LoongArch / lsx / ir-instruction / fneg.ll
blob795c1ac8b368451c72dbe8f0bc8657d1335b64c0
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc --mtriple=loongarch64 --mattr=+lsx < %s | FileCheck %s
4 define void @fneg_v4f32(ptr %res, ptr %a0) nounwind {
5 ; CHECK-LABEL: fneg_v4f32:
6 ; CHECK:       # %bb.0: # %entry
7 ; CHECK-NEXT:    vld $vr0, $a1, 0
8 ; CHECK-NEXT:    vbitrevi.w $vr0, $vr0, 31
9 ; CHECK-NEXT:    vst $vr0, $a0, 0
10 ; CHECK-NEXT:    ret
11 entry:
12   %v0 = load <4 x float>, ptr %a0
13   %v1 = fneg <4 x float> %v0
14   store <4 x float> %v1, ptr %res
15   ret void
17 define void @fneg_v2f64(ptr %res, ptr %a0) nounwind {
18 ; CHECK-LABEL: fneg_v2f64:
19 ; CHECK:       # %bb.0: # %entry
20 ; CHECK-NEXT:    vld $vr0, $a1, 0
21 ; CHECK-NEXT:    vbitrevi.d $vr0, $vr0, 63
22 ; CHECK-NEXT:    vst $vr0, $a0, 0
23 ; CHECK-NEXT:    ret
24 entry:
25   %v0 = load <2 x double>, ptr %a0
26   %v1 = fneg <2 x double> %v0
27   store <2 x double> %v1, ptr %res
28   ret void