mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 11:13:28 +01:00
109cb6b0ac
Add lsv/lvs intrinsic instructions and a regression test. Reviewed By: simoll Differential Revision: https://reviews.llvm.org/D91526
23 lines
959 B
TableGen
23 lines
959 B
TableGen
// Pattern Matchings for VEL Intrinsics
|
|
|
|
// Define intrinsics written by hand
|
|
|
|
// The lsv and lvs patterns
|
|
def : Pat<(int_ve_vl_lsv_vvss v256f64:$pt, i32:$sy, i64:$sz),
|
|
(LSVrr_v (INSERT_SUBREG (i64 (IMPLICIT_DEF)), i32:$sy, sub_i32),
|
|
i64:$sz, v256f64:$pt)>;
|
|
def : Pat<(int_ve_vl_lvsl_svs v256f64:$vx, i32:$sy),
|
|
(LVSvr v256f64:$vx,
|
|
(INSERT_SUBREG (i64 (IMPLICIT_DEF)), i32:$sy, sub_i32))>;
|
|
def : Pat<(int_ve_vl_lvsd_svs v256f64:$vx, i32:$sy),
|
|
(LVSvr v256f64:$vx,
|
|
(INSERT_SUBREG (i64 (IMPLICIT_DEF)), i32:$sy, sub_i32))>;
|
|
def : Pat<(int_ve_vl_lvss_svs v256f64:$vx, i32:$sy),
|
|
(EXTRACT_SUBREG (LVSvr v256f64:$vx,
|
|
(INSERT_SUBREG (i64 (IMPLICIT_DEF)), i32:$sy,
|
|
sub_i32)),
|
|
sub_f32)>;
|
|
|
|
// Define intrinsics automatically generated
|
|
include "VEInstrIntrinsicVL.gen.td"
|