S/390: Implement vcond expander for V1TI,V1TF
Currently gcc does not emit wf{c,k}* instructions when comparing long double values. Middle-end actually adds them in the first place, but then veclower pass replaces them with floating point register pair operations, because the corresponding expander is missing. gcc/ChangeLog: 2019-10-01 Ilya Leoshkevich <iii@linux.ibm.com> PR target/77918 * config/s390/vector.md (V_HW): Add V1TI in order to make vcond$a$b generate vcondv1tiv1tf. From-SVN: r276408
This commit is contained in:
parent
3366b37850
commit
b4363c5a26
|
@ -1,3 +1,9 @@
|
|||
2019-10-01 Ilya Leoshkevich <iii@linux.ibm.com>
|
||||
|
||||
PR target/77918
|
||||
* config/s390/vector.md (V_HW): Add V1TI in order to make
|
||||
vcond$a$b generate vcondv1tiv1tf.
|
||||
|
||||
2019-10-01 Richard Sandiford <richard.sandiford@arm.com>
|
||||
|
||||
PR rtl-optimization/91948
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
; All modes directly supported by the hardware having full vector reg size
|
||||
; V_HW2 is duplicate of V_HW for having two iterators expanding
|
||||
; independently e.g. vcond
|
||||
(define_mode_iterator V_HW [V16QI V8HI V4SI V2DI V2DF (V4SF "TARGET_VXE") (V1TF "TARGET_VXE")])
|
||||
(define_mode_iterator V_HW [V16QI V8HI V4SI V2DI (V1TI "TARGET_VXE") V2DF (V4SF "TARGET_VXE") (V1TF "TARGET_VXE")])
|
||||
(define_mode_iterator V_HW2 [V16QI V8HI V4SI V2DI V2DF (V4SF "TARGET_VXE") (V1TF "TARGET_VXE")])
|
||||
|
||||
(define_mode_iterator V_HW_64 [V2DI V2DF])
|
||||
|
|
Loading…
Reference in New Issue