diff options
author | Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> | 2024-03-13 11:05:08 +0100 |
---|---|---|
committer | Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> | 2024-03-13 11:05:08 +0100 |
commit | a63fb786f8564880c91a30b99fda6d8a44adf81d (patch) | |
tree | 6ac6676e1424af45f54b0941da0fbf88e3d63477 /libcpp | |
parent | 9f2b16ce1efef0648a6d52c1d744735c46e2eec1 (diff) | |
download | gcc-a63fb786f8564880c91a30b99fda6d8a44adf81d.zip gcc-a63fb786f8564880c91a30b99fda6d8a44adf81d.tar.gz gcc-a63fb786f8564880c91a30b99fda6d8a44adf81d.tar.bz2 |
s390: Fix tests rosbg_si_srl and rxsbg_si_srl
Starting with r14-2047-gd0e891406b16dc two SI mode tests are optimized
into DI mode. Thus, the scan-assembler directives fail. For example
RTL expression
(ior:SI (subreg:SI (lshiftrt:DI (reg:DI 69)
(const_int 2 [0x2])) 4)
(subreg:SI (reg:DI 68) 4))
is optimized into
(ior:DI (lshiftrt:DI (reg:DI 69)
(const_int 2 [0x2]))
(reg:DI 68))
Fixed by moving operands into memory in order to enforce SI mode
computation.
Furthermore, in r9-6056-g290dfd9bc7bea2 the starting bit position of the
scan-assembler directive for rosbg was incorrectly set to 32 which
actually should be 32+SHIFT_AMOUNT, i.e., in this particular case 34.
gcc/testsuite/ChangeLog:
* gcc.target/s390/md/rXsbg_mode_sXl.c: Fix tests rosbg_si_srl
and rxsbg_si_srl.
Diffstat (limited to 'libcpp')
0 files changed, 0 insertions, 0 deletions