Skip to content
Snippets Groups Projects
Commit 0c6fdb9b authored by Stefan Schulze Frielinghaus's avatar Stefan Schulze Frielinghaus
Browse files

s390: Stay scalar for TOINTVEC/tointvec

Currently TOINTVEC maps scalar mode TI/TF to vector mode V1TI/V1TF,
respectively.  As a consequence we may end up with patterns with a
mixture of scalar and vector modes as e.g. for

(define_insn "vec_sel0<mode>"
  [(set (match_operand:VT 0 "register_operand" "=v")
        (if_then_else:VT
         (eq (match_operand:<TOINTVEC> 3 "register_operand" "v")
             (match_operand:<TOINTVEC> 4 "const0_operand" ""))
         (match_operand:VT 1 "register_operand" "v")
         (match_operand:VT 2 "register_operand" "v")))]

This is cumbersome since gen_vec_sel0ti() and gen_vec_sel0tf() require
that operands 3 and 4 are of vector mode whereas the remainder of
operands must be of scalar mode.  Likewise for tointvec.

Fixed by staying scalar.

gcc/ChangeLog:

	* config/s390/vector.md: Stay scalar for TOINTVEC/tointvec.
parent 43a6001f
No related branches found
No related tags found
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment