diff options
Diffstat (limited to 'gcc/config/rs6000/altivec.md')
-rw-r--r-- | gcc/config/rs6000/altivec.md | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/config/rs6000/altivec.md b/gcc/config/rs6000/altivec.md index 11d2dfe9426..7382d7c4b44 100644 --- a/gcc/config/rs6000/altivec.md +++ b/gcc/config/rs6000/altivec.md @@ -168,6 +168,7 @@ UNSPEC_VPEXTD UNSPEC_VCLRLB UNSPEC_VCLRRB + UNSPEC_XXEVAL ]) (define_c_enum "unspecv" @@ -3271,6 +3272,16 @@ [(set_attr "type" "vecperm") (set_attr "isa" "*,p9v")]) +(define_insn "xxeval" + [(set (match_operand:V2DI 0 "register_operand" "=wa") + (unspec:V2DI [(match_operand:V2DI 1 "altivec_register_operand" "wa") + (match_operand:V2DI 2 "altivec_register_operand" "wa") + (match_operand:V2DI 3 "altivec_register_operand" "wa") + (match_operand:QI 4 "u8bit_cint_operand" "n")] + UNSPEC_XXEVAL))] + "TARGET_FUTURE" + "xxeval %0,%1,%2,%3,%4" + [(set_attr "type" "vecsimple")]) (define_expand "vec_unpacku_hi_v16qi" [(set (match_operand:V8HI 0 "register_operand" "=v") |