Files
clang-p2996/llvm/test/CodeGen/VE/Vector/vec_fneg.ll
Simon Moll 91fad1167a [VE] v512|256 f32|64 fneg isel and tests
fneg instruction isel and tests. We do this also in preparation of fused
negatate-multiple-add fp operations.

Reviewed By: kaz7

Differential Revision: https://reviews.llvm.org/D121620
2022-03-16 11:31:26 +01:00

26 lines
776 B
LLVM

; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc < %s -march=ve -mattr=+vpu | FileCheck %s
define fastcc <256 x float> @test_vec_fneg_v256f32_v(<256 x float> %v) {
; CHECK-LABEL: test_vec_fneg_v256f32_v:
; CHECK: # %bb.0:
; CHECK-NEXT: lea %s0, 256
; CHECK-NEXT: lvl %s0
; CHECK-NEXT: vxor %v0, (1)1, %v0
; CHECK-NEXT: b.l.t (, %s10)
%neg = fneg <256 x float> %v
ret <256 x float> %neg
}
define fastcc <256 x double> @test_vec_fneg_v256f64_v(<256 x double> %v) {
; CHECK-LABEL: test_vec_fneg_v256f64_v:
; CHECK: # %bb.0:
; CHECK-NEXT: lea %s0, 256
; CHECK-NEXT: lvl %s0
; CHECK-NEXT: vxor %v0, (1)1, %v0
; CHECK-NEXT: b.l.t (, %s10)
%neg = fneg <256 x double> %v
ret <256 x double> %neg
}