Skip to content

Commit cb22530

Browse files
committed
Merge remote-tracking branch 'akmaru/vlogical2u-instructions' into feature/vlogical2u-instructions
2 parents 18fe80e + 6a9790c commit cb22530

File tree

11 files changed

+937
-16
lines changed

11 files changed

+937
-16
lines changed

clang/include/clang/Basic/BuiltinsVEVL.gen.def

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -407,6 +407,42 @@ BUILTIN(__builtin_ve_vl_pveqv_vsvl, "V256dLUiV256dUi", "n")
407407
BUILTIN(__builtin_ve_vl_pveqv_vsvvl, "V256dLUiV256dV256dUi", "n")
408408
BUILTIN(__builtin_ve_vl_pveqv_vvvMvl, "V256dV256dV256dV512bV256dUi", "n")
409409
BUILTIN(__builtin_ve_vl_pveqv_vsvMvl, "V256dLUiV256dV512bV256dUi", "n")
410+
BUILTIN(__builtin_ve_vl_vldz_vvl, "V256dV256dUi", "n")
411+
BUILTIN(__builtin_ve_vl_vldz_vvvl, "V256dV256dV256dUi", "n")
412+
BUILTIN(__builtin_ve_vl_vldz_vvmvl, "V256dV256dV256bV256dUi", "n")
413+
BUILTIN(__builtin_ve_vl_pvldzlo_vvl, "V256dV256dUi", "n")
414+
BUILTIN(__builtin_ve_vl_pvldzlo_vvvl, "V256dV256dV256dUi", "n")
415+
BUILTIN(__builtin_ve_vl_pvldzlo_vvmvl, "V256dV256dV256bV256dUi", "n")
416+
BUILTIN(__builtin_ve_vl_pvldzup_vvl, "V256dV256dUi", "n")
417+
BUILTIN(__builtin_ve_vl_pvldzup_vvvl, "V256dV256dV256dUi", "n")
418+
BUILTIN(__builtin_ve_vl_pvldzup_vvmvl, "V256dV256dV256bV256dUi", "n")
419+
BUILTIN(__builtin_ve_vl_pvldz_vvl, "V256dV256dUi", "n")
420+
BUILTIN(__builtin_ve_vl_pvldz_vvvl, "V256dV256dV256dUi", "n")
421+
BUILTIN(__builtin_ve_vl_pvldz_vvMvl, "V256dV256dV512bV256dUi", "n")
422+
BUILTIN(__builtin_ve_vl_vpcnt_vvl, "V256dV256dUi", "n")
423+
BUILTIN(__builtin_ve_vl_vpcnt_vvvl, "V256dV256dV256dUi", "n")
424+
BUILTIN(__builtin_ve_vl_vpcnt_vvmvl, "V256dV256dV256bV256dUi", "n")
425+
BUILTIN(__builtin_ve_vl_pvpcntlo_vvl, "V256dV256dUi", "n")
426+
BUILTIN(__builtin_ve_vl_pvpcntlo_vvvl, "V256dV256dV256dUi", "n")
427+
BUILTIN(__builtin_ve_vl_pvpcntlo_vvmvl, "V256dV256dV256bV256dUi", "n")
428+
BUILTIN(__builtin_ve_vl_pvpcntup_vvl, "V256dV256dUi", "n")
429+
BUILTIN(__builtin_ve_vl_pvpcntup_vvvl, "V256dV256dV256dUi", "n")
430+
BUILTIN(__builtin_ve_vl_pvpcntup_vvmvl, "V256dV256dV256bV256dUi", "n")
431+
BUILTIN(__builtin_ve_vl_pvpcnt_vvl, "V256dV256dUi", "n")
432+
BUILTIN(__builtin_ve_vl_pvpcnt_vvvl, "V256dV256dV256dUi", "n")
433+
BUILTIN(__builtin_ve_vl_pvpcnt_vvMvl, "V256dV256dV512bV256dUi", "n")
434+
BUILTIN(__builtin_ve_vl_vbrv_vvl, "V256dV256dUi", "n")
435+
BUILTIN(__builtin_ve_vl_vbrv_vvvl, "V256dV256dV256dUi", "n")
436+
BUILTIN(__builtin_ve_vl_vbrv_vvmvl, "V256dV256dV256bV256dUi", "n")
437+
BUILTIN(__builtin_ve_vl_pvbrvlo_vvl, "V256dV256dUi", "n")
438+
BUILTIN(__builtin_ve_vl_pvbrvlo_vvvl, "V256dV256dV256dUi", "n")
439+
BUILTIN(__builtin_ve_vl_pvbrvlo_vvmvl, "V256dV256dV256bV256dUi", "n")
440+
BUILTIN(__builtin_ve_vl_pvbrvup_vvl, "V256dV256dUi", "n")
441+
BUILTIN(__builtin_ve_vl_pvbrvup_vvvl, "V256dV256dV256dUi", "n")
442+
BUILTIN(__builtin_ve_vl_pvbrvup_vvmvl, "V256dV256dV256bV256dUi", "n")
443+
BUILTIN(__builtin_ve_vl_pvbrv_vvl, "V256dV256dUi", "n")
444+
BUILTIN(__builtin_ve_vl_pvbrv_vvvl, "V256dV256dV256dUi", "n")
445+
BUILTIN(__builtin_ve_vl_pvbrv_vvMvl, "V256dV256dV512bV256dUi", "n")
410446
BUILTIN(__builtin_ve_vl_vseq_vl, "V256dUi", "n")
411447
BUILTIN(__builtin_ve_vl_vseq_vvl, "V256dV256dUi", "n")
412448
BUILTIN(__builtin_ve_vl_pvseqlo_vl, "V256dUi", "n")

clang/lib/Headers/velintrin_gen.h

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -407,6 +407,42 @@
407407
#define _vel_pveqv_vsvvl __builtin_ve_vl_pveqv_vsvvl
408408
#define _vel_pveqv_vvvMvl __builtin_ve_vl_pveqv_vvvMvl
409409
#define _vel_pveqv_vsvMvl __builtin_ve_vl_pveqv_vsvMvl
410+
#define _vel_vldz_vvl __builtin_ve_vl_vldz_vvl
411+
#define _vel_vldz_vvvl __builtin_ve_vl_vldz_vvvl
412+
#define _vel_vldz_vvmvl __builtin_ve_vl_vldz_vvmvl
413+
#define _vel_pvldzlo_vvl __builtin_ve_vl_pvldzlo_vvl
414+
#define _vel_pvldzlo_vvvl __builtin_ve_vl_pvldzlo_vvvl
415+
#define _vel_pvldzlo_vvmvl __builtin_ve_vl_pvldzlo_vvmvl
416+
#define _vel_pvldzup_vvl __builtin_ve_vl_pvldzup_vvl
417+
#define _vel_pvldzup_vvvl __builtin_ve_vl_pvldzup_vvvl
418+
#define _vel_pvldzup_vvmvl __builtin_ve_vl_pvldzup_vvmvl
419+
#define _vel_pvldz_vvl __builtin_ve_vl_pvldz_vvl
420+
#define _vel_pvldz_vvvl __builtin_ve_vl_pvldz_vvvl
421+
#define _vel_pvldz_vvMvl __builtin_ve_vl_pvldz_vvMvl
422+
#define _vel_vpcnt_vvl __builtin_ve_vl_vpcnt_vvl
423+
#define _vel_vpcnt_vvvl __builtin_ve_vl_vpcnt_vvvl
424+
#define _vel_vpcnt_vvmvl __builtin_ve_vl_vpcnt_vvmvl
425+
#define _vel_pvpcntlo_vvl __builtin_ve_vl_pvpcntlo_vvl
426+
#define _vel_pvpcntlo_vvvl __builtin_ve_vl_pvpcntlo_vvvl
427+
#define _vel_pvpcntlo_vvmvl __builtin_ve_vl_pvpcntlo_vvmvl
428+
#define _vel_pvpcntup_vvl __builtin_ve_vl_pvpcntup_vvl
429+
#define _vel_pvpcntup_vvvl __builtin_ve_vl_pvpcntup_vvvl
430+
#define _vel_pvpcntup_vvmvl __builtin_ve_vl_pvpcntup_vvmvl
431+
#define _vel_pvpcnt_vvl __builtin_ve_vl_pvpcnt_vvl
432+
#define _vel_pvpcnt_vvvl __builtin_ve_vl_pvpcnt_vvvl
433+
#define _vel_pvpcnt_vvMvl __builtin_ve_vl_pvpcnt_vvMvl
434+
#define _vel_vbrv_vvl __builtin_ve_vl_vbrv_vvl
435+
#define _vel_vbrv_vvvl __builtin_ve_vl_vbrv_vvvl
436+
#define _vel_vbrv_vvmvl __builtin_ve_vl_vbrv_vvmvl
437+
#define _vel_pvbrvlo_vvl __builtin_ve_vl_pvbrvlo_vvl
438+
#define _vel_pvbrvlo_vvvl __builtin_ve_vl_pvbrvlo_vvvl
439+
#define _vel_pvbrvlo_vvmvl __builtin_ve_vl_pvbrvlo_vvmvl
440+
#define _vel_pvbrvup_vvl __builtin_ve_vl_pvbrvup_vvl
441+
#define _vel_pvbrvup_vvvl __builtin_ve_vl_pvbrvup_vvvl
442+
#define _vel_pvbrvup_vvmvl __builtin_ve_vl_pvbrvup_vvmvl
443+
#define _vel_pvbrv_vvl __builtin_ve_vl_pvbrv_vvl
444+
#define _vel_pvbrv_vvvl __builtin_ve_vl_pvbrv_vvvl
445+
#define _vel_pvbrv_vvMvl __builtin_ve_vl_pvbrv_vvMvl
410446
#define _vel_vseq_vl __builtin_ve_vl_vseq_vl
411447
#define _vel_vseq_vvl __builtin_ve_vl_vseq_vvl
412448
#define _vel_pvseqlo_vl __builtin_ve_vl_pvseqlo_vl

llvm/include/llvm/IR/IntrinsicsVEVL.gen.td

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -407,6 +407,42 @@ let TargetPrefix = "ve" in def int_ve_vl_pveqv_vsvl : GCCBuiltin<"__builtin_ve_v
407407
let TargetPrefix = "ve" in def int_ve_vl_pveqv_vsvvl : GCCBuiltin<"__builtin_ve_vl_pveqv_vsvvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<i64>, LLVMType<v256f64>, LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
408408
let TargetPrefix = "ve" in def int_ve_vl_pveqv_vvvMvl : GCCBuiltin<"__builtin_ve_vl_pveqv_vvvMvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<v256f64>, LLVMType<v512i1>, LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
409409
let TargetPrefix = "ve" in def int_ve_vl_pveqv_vsvMvl : GCCBuiltin<"__builtin_ve_vl_pveqv_vsvMvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<i64>, LLVMType<v256f64>, LLVMType<v512i1>, LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
410+
let TargetPrefix = "ve" in def int_ve_vl_vldz_vvl : GCCBuiltin<"__builtin_ve_vl_vldz_vvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
411+
let TargetPrefix = "ve" in def int_ve_vl_vldz_vvvl : GCCBuiltin<"__builtin_ve_vl_vldz_vvvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
412+
let TargetPrefix = "ve" in def int_ve_vl_vldz_vvmvl : GCCBuiltin<"__builtin_ve_vl_vldz_vvmvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<v256i1>, LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
413+
let TargetPrefix = "ve" in def int_ve_vl_pvldzlo_vvl : GCCBuiltin<"__builtin_ve_vl_pvldzlo_vvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
414+
let TargetPrefix = "ve" in def int_ve_vl_pvldzlo_vvvl : GCCBuiltin<"__builtin_ve_vl_pvldzlo_vvvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
415+
let TargetPrefix = "ve" in def int_ve_vl_pvldzlo_vvmvl : GCCBuiltin<"__builtin_ve_vl_pvldzlo_vvmvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<v256i1>, LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
416+
let TargetPrefix = "ve" in def int_ve_vl_pvldzup_vvl : GCCBuiltin<"__builtin_ve_vl_pvldzup_vvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
417+
let TargetPrefix = "ve" in def int_ve_vl_pvldzup_vvvl : GCCBuiltin<"__builtin_ve_vl_pvldzup_vvvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
418+
let TargetPrefix = "ve" in def int_ve_vl_pvldzup_vvmvl : GCCBuiltin<"__builtin_ve_vl_pvldzup_vvmvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<v256i1>, LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
419+
let TargetPrefix = "ve" in def int_ve_vl_pvldz_vvl : GCCBuiltin<"__builtin_ve_vl_pvldz_vvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
420+
let TargetPrefix = "ve" in def int_ve_vl_pvldz_vvvl : GCCBuiltin<"__builtin_ve_vl_pvldz_vvvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
421+
let TargetPrefix = "ve" in def int_ve_vl_pvldz_vvMvl : GCCBuiltin<"__builtin_ve_vl_pvldz_vvMvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<v512i1>, LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
422+
let TargetPrefix = "ve" in def int_ve_vl_vpcnt_vvl : GCCBuiltin<"__builtin_ve_vl_vpcnt_vvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
423+
let TargetPrefix = "ve" in def int_ve_vl_vpcnt_vvvl : GCCBuiltin<"__builtin_ve_vl_vpcnt_vvvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
424+
let TargetPrefix = "ve" in def int_ve_vl_vpcnt_vvmvl : GCCBuiltin<"__builtin_ve_vl_vpcnt_vvmvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<v256i1>, LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
425+
let TargetPrefix = "ve" in def int_ve_vl_pvpcntlo_vvl : GCCBuiltin<"__builtin_ve_vl_pvpcntlo_vvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
426+
let TargetPrefix = "ve" in def int_ve_vl_pvpcntlo_vvvl : GCCBuiltin<"__builtin_ve_vl_pvpcntlo_vvvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
427+
let TargetPrefix = "ve" in def int_ve_vl_pvpcntlo_vvmvl : GCCBuiltin<"__builtin_ve_vl_pvpcntlo_vvmvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<v256i1>, LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
428+
let TargetPrefix = "ve" in def int_ve_vl_pvpcntup_vvl : GCCBuiltin<"__builtin_ve_vl_pvpcntup_vvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
429+
let TargetPrefix = "ve" in def int_ve_vl_pvpcntup_vvvl : GCCBuiltin<"__builtin_ve_vl_pvpcntup_vvvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
430+
let TargetPrefix = "ve" in def int_ve_vl_pvpcntup_vvmvl : GCCBuiltin<"__builtin_ve_vl_pvpcntup_vvmvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<v256i1>, LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
431+
let TargetPrefix = "ve" in def int_ve_vl_pvpcnt_vvl : GCCBuiltin<"__builtin_ve_vl_pvpcnt_vvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
432+
let TargetPrefix = "ve" in def int_ve_vl_pvpcnt_vvvl : GCCBuiltin<"__builtin_ve_vl_pvpcnt_vvvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
433+
let TargetPrefix = "ve" in def int_ve_vl_pvpcnt_vvMvl : GCCBuiltin<"__builtin_ve_vl_pvpcnt_vvMvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<v512i1>, LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
434+
let TargetPrefix = "ve" in def int_ve_vl_vbrv_vvl : GCCBuiltin<"__builtin_ve_vl_vbrv_vvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
435+
let TargetPrefix = "ve" in def int_ve_vl_vbrv_vvvl : GCCBuiltin<"__builtin_ve_vl_vbrv_vvvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
436+
let TargetPrefix = "ve" in def int_ve_vl_vbrv_vvmvl : GCCBuiltin<"__builtin_ve_vl_vbrv_vvmvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<v256i1>, LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
437+
let TargetPrefix = "ve" in def int_ve_vl_pvbrvlo_vvl : GCCBuiltin<"__builtin_ve_vl_pvbrvlo_vvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
438+
let TargetPrefix = "ve" in def int_ve_vl_pvbrvlo_vvvl : GCCBuiltin<"__builtin_ve_vl_pvbrvlo_vvvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
439+
let TargetPrefix = "ve" in def int_ve_vl_pvbrvlo_vvmvl : GCCBuiltin<"__builtin_ve_vl_pvbrvlo_vvmvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<v256i1>, LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
440+
let TargetPrefix = "ve" in def int_ve_vl_pvbrvup_vvl : GCCBuiltin<"__builtin_ve_vl_pvbrvup_vvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
441+
let TargetPrefix = "ve" in def int_ve_vl_pvbrvup_vvvl : GCCBuiltin<"__builtin_ve_vl_pvbrvup_vvvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
442+
let TargetPrefix = "ve" in def int_ve_vl_pvbrvup_vvmvl : GCCBuiltin<"__builtin_ve_vl_pvbrvup_vvmvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<v256i1>, LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
443+
let TargetPrefix = "ve" in def int_ve_vl_pvbrv_vvl : GCCBuiltin<"__builtin_ve_vl_pvbrv_vvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
444+
let TargetPrefix = "ve" in def int_ve_vl_pvbrv_vvvl : GCCBuiltin<"__builtin_ve_vl_pvbrv_vvvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
445+
let TargetPrefix = "ve" in def int_ve_vl_pvbrv_vvMvl : GCCBuiltin<"__builtin_ve_vl_pvbrv_vvMvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<v512i1>, LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
410446
let TargetPrefix = "ve" in def int_ve_vl_vseq_vl : GCCBuiltin<"__builtin_ve_vl_vseq_vl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<i32>], [IntrNoMem]>;
411447
let TargetPrefix = "ve" in def int_ve_vl_vseq_vvl : GCCBuiltin<"__builtin_ve_vl_vseq_vvl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<v256f64>, LLVMType<i32>], [IntrNoMem]>;
412448
let TargetPrefix = "ve" in def int_ve_vl_pvseqlo_vl : GCCBuiltin<"__builtin_ve_vl_pvseqlo_vl">, Intrinsic<[LLVMType<v256f64>], [LLVMType<i32>], [IntrNoMem]>;

llvm/lib/Target/VE/VEInstrIntrinsicVL.gen.td

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -601,6 +601,42 @@ def : Pat<(int_ve_vl_pveqv_vsvl i64:$sy, v256f64:$vz, i32:$vl), (PVEQVrvl i64:$s
601601
def : Pat<(int_ve_vl_pveqv_vsvvl i64:$sy, v256f64:$vz, v256f64:$pt, i32:$vl), (PVEQVrvl_v i64:$sy, v256f64:$vz, i32:$vl, v256f64:$pt)>;
602602
def : Pat<(int_ve_vl_pveqv_vvvMvl v256f64:$vy, v256f64:$vz, v512i1:$vm, v256f64:$pt, i32:$vl), (PVEQVvvml_v v256f64:$vy, v256f64:$vz, v512i1:$vm, i32:$vl, v256f64:$pt)>;
603603
def : Pat<(int_ve_vl_pveqv_vsvMvl i64:$sy, v256f64:$vz, v512i1:$vm, v256f64:$pt, i32:$vl), (PVEQVrvml_v i64:$sy, v256f64:$vz, v512i1:$vm, i32:$vl, v256f64:$pt)>;
604+
def : Pat<(int_ve_vl_vldz_vvl v256f64:$vz, i32:$vl), (VLDZvl v256f64:$vz, i32:$vl)>;
605+
def : Pat<(int_ve_vl_vldz_vvvl v256f64:$vz, v256f64:$pt, i32:$vl), (VLDZvl_v v256f64:$vz, i32:$vl, v256f64:$pt)>;
606+
def : Pat<(int_ve_vl_vldz_vvmvl v256f64:$vz, v256i1:$vm, v256f64:$pt, i32:$vl), (VLDZvml_v v256f64:$vz, v256i1:$vm, i32:$vl, v256f64:$pt)>;
607+
def : Pat<(int_ve_vl_pvldzlo_vvl v256f64:$vz, i32:$vl), (PVLDZLOvl v256f64:$vz, i32:$vl)>;
608+
def : Pat<(int_ve_vl_pvldzlo_vvvl v256f64:$vz, v256f64:$pt, i32:$vl), (PVLDZLOvl_v v256f64:$vz, i32:$vl, v256f64:$pt)>;
609+
def : Pat<(int_ve_vl_pvldzlo_vvmvl v256f64:$vz, v256i1:$vm, v256f64:$pt, i32:$vl), (PVLDZLOvml_v v256f64:$vz, v256i1:$vm, i32:$vl, v256f64:$pt)>;
610+
def : Pat<(int_ve_vl_pvldzup_vvl v256f64:$vz, i32:$vl), (PVLDZUPvl v256f64:$vz, i32:$vl)>;
611+
def : Pat<(int_ve_vl_pvldzup_vvvl v256f64:$vz, v256f64:$pt, i32:$vl), (PVLDZUPvl_v v256f64:$vz, i32:$vl, v256f64:$pt)>;
612+
def : Pat<(int_ve_vl_pvldzup_vvmvl v256f64:$vz, v256i1:$vm, v256f64:$pt, i32:$vl), (PVLDZUPvml_v v256f64:$vz, v256i1:$vm, i32:$vl, v256f64:$pt)>;
613+
def : Pat<(int_ve_vl_pvldz_vvl v256f64:$vz, i32:$vl), (PVLDZvl v256f64:$vz, i32:$vl)>;
614+
def : Pat<(int_ve_vl_pvldz_vvvl v256f64:$vz, v256f64:$pt, i32:$vl), (PVLDZvl_v v256f64:$vz, i32:$vl, v256f64:$pt)>;
615+
def : Pat<(int_ve_vl_pvldz_vvMvl v256f64:$vz, v512i1:$vm, v256f64:$pt, i32:$vl), (PVLDZvml_v v256f64:$vz, v512i1:$vm, i32:$vl, v256f64:$pt)>;
616+
def : Pat<(int_ve_vl_vpcnt_vvl v256f64:$vz, i32:$vl), (VPCNTvl v256f64:$vz, i32:$vl)>;
617+
def : Pat<(int_ve_vl_vpcnt_vvvl v256f64:$vz, v256f64:$pt, i32:$vl), (VPCNTvl_v v256f64:$vz, i32:$vl, v256f64:$pt)>;
618+
def : Pat<(int_ve_vl_vpcnt_vvmvl v256f64:$vz, v256i1:$vm, v256f64:$pt, i32:$vl), (VPCNTvml_v v256f64:$vz, v256i1:$vm, i32:$vl, v256f64:$pt)>;
619+
def : Pat<(int_ve_vl_pvpcntlo_vvl v256f64:$vz, i32:$vl), (PVPCNTLOvl v256f64:$vz, i32:$vl)>;
620+
def : Pat<(int_ve_vl_pvpcntlo_vvvl v256f64:$vz, v256f64:$pt, i32:$vl), (PVPCNTLOvl_v v256f64:$vz, i32:$vl, v256f64:$pt)>;
621+
def : Pat<(int_ve_vl_pvpcntlo_vvmvl v256f64:$vz, v256i1:$vm, v256f64:$pt, i32:$vl), (PVPCNTLOvml_v v256f64:$vz, v256i1:$vm, i32:$vl, v256f64:$pt)>;
622+
def : Pat<(int_ve_vl_pvpcntup_vvl v256f64:$vz, i32:$vl), (PVPCNTUPvl v256f64:$vz, i32:$vl)>;
623+
def : Pat<(int_ve_vl_pvpcntup_vvvl v256f64:$vz, v256f64:$pt, i32:$vl), (PVPCNTUPvl_v v256f64:$vz, i32:$vl, v256f64:$pt)>;
624+
def : Pat<(int_ve_vl_pvpcntup_vvmvl v256f64:$vz, v256i1:$vm, v256f64:$pt, i32:$vl), (PVPCNTUPvml_v v256f64:$vz, v256i1:$vm, i32:$vl, v256f64:$pt)>;
625+
def : Pat<(int_ve_vl_pvpcnt_vvl v256f64:$vz, i32:$vl), (PVPCNTvl v256f64:$vz, i32:$vl)>;
626+
def : Pat<(int_ve_vl_pvpcnt_vvvl v256f64:$vz, v256f64:$pt, i32:$vl), (PVPCNTvl_v v256f64:$vz, i32:$vl, v256f64:$pt)>;
627+
def : Pat<(int_ve_vl_pvpcnt_vvMvl v256f64:$vz, v512i1:$vm, v256f64:$pt, i32:$vl), (PVPCNTvml_v v256f64:$vz, v512i1:$vm, i32:$vl, v256f64:$pt)>;
628+
def : Pat<(int_ve_vl_vbrv_vvl v256f64:$vz, i32:$vl), (VBRVvl v256f64:$vz, i32:$vl)>;
629+
def : Pat<(int_ve_vl_vbrv_vvvl v256f64:$vz, v256f64:$pt, i32:$vl), (VBRVvl_v v256f64:$vz, i32:$vl, v256f64:$pt)>;
630+
def : Pat<(int_ve_vl_vbrv_vvmvl v256f64:$vz, v256i1:$vm, v256f64:$pt, i32:$vl), (VBRVvml_v v256f64:$vz, v256i1:$vm, i32:$vl, v256f64:$pt)>;
631+
def : Pat<(int_ve_vl_pvbrvlo_vvl v256f64:$vz, i32:$vl), (PVBRVLOvl v256f64:$vz, i32:$vl)>;
632+
def : Pat<(int_ve_vl_pvbrvlo_vvvl v256f64:$vz, v256f64:$pt, i32:$vl), (PVBRVLOvl_v v256f64:$vz, i32:$vl, v256f64:$pt)>;
633+
def : Pat<(int_ve_vl_pvbrvlo_vvmvl v256f64:$vz, v256i1:$vm, v256f64:$pt, i32:$vl), (PVBRVLOvml_v v256f64:$vz, v256i1:$vm, i32:$vl, v256f64:$pt)>;
634+
def : Pat<(int_ve_vl_pvbrvup_vvl v256f64:$vz, i32:$vl), (PVBRVUPvl v256f64:$vz, i32:$vl)>;
635+
def : Pat<(int_ve_vl_pvbrvup_vvvl v256f64:$vz, v256f64:$pt, i32:$vl), (PVBRVUPvl_v v256f64:$vz, i32:$vl, v256f64:$pt)>;
636+
def : Pat<(int_ve_vl_pvbrvup_vvmvl v256f64:$vz, v256i1:$vm, v256f64:$pt, i32:$vl), (PVBRVUPvml_v v256f64:$vz, v256i1:$vm, i32:$vl, v256f64:$pt)>;
637+
def : Pat<(int_ve_vl_pvbrv_vvl v256f64:$vz, i32:$vl), (PVBRVvl v256f64:$vz, i32:$vl)>;
638+
def : Pat<(int_ve_vl_pvbrv_vvvl v256f64:$vz, v256f64:$pt, i32:$vl), (PVBRVvl_v v256f64:$vz, i32:$vl, v256f64:$pt)>;
639+
def : Pat<(int_ve_vl_pvbrv_vvMvl v256f64:$vz, v512i1:$vm, v256f64:$pt, i32:$vl), (PVBRVvml_v v256f64:$vz, v512i1:$vm, i32:$vl, v256f64:$pt)>;
604640
def : Pat<(int_ve_vl_vseq_vl i32:$vl), (VSEQl i32:$vl)>;
605641
def : Pat<(int_ve_vl_vseq_vvl v256f64:$pt, i32:$vl), (VSEQl_v i32:$vl, v256f64:$pt)>;
606642
def : Pat<(int_ve_vl_pvseqlo_vl i32:$vl), (PVSEQLOl i32:$vl)>;

0 commit comments

Comments
 (0)