[Bug c/79487] Invalid _Decimal32 comparison on s390x

2017-02-13 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79487 --- Comment #2 from Dominik Vogt --- Ah, no, the first Rtl pass that produces an incorrect expression is Cse1. Before: -- (insn 22 21 23 3 (set (reg:SD 75) (const_double:SD -9223372036854775808 [N/A])) "decimal32.c":23 1121 {movsd} (ins

[Bug c/79487] Invalid _Decimal32 comparison on s390x

2017-02-13 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79487 --- Comment #1 from Dominik Vogt --- It seems that the pass ccp1 eliminates all information about the type of "min"? Before ccp1: _Decimal32 min; ... if (min_8 != tem.1_3) After ccp1: if (tem.1_3 != -9223372036854775808) (Or is there