https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87163
--- Comment #11 from Peter Bergner <bergner at gcc dot gnu.org> --- (In reply to Bill Seurer from comment #8) > Cross: > ;; > ;; Full RTL generated for this function: > ;; > (note 1 0 4 NOTE_INSN_DELETED) > (note 4 1 2 2 [bb 2] NOTE_INSN_BASIC_BLOCK) > (insn 2 4 3 2 (set (mem/c:IF (reg/f:DI 112 virtual-stack-vars) [1 a+0 S16 > A128]) > (reg:IF 33 1 [ a ])) "./signbit-1.c":7:32 -1 > (nil)) I can get close to this with a native build using -O2 -mcpu=power8 -mfloat128 -mabi=ieeelongdouble, but I still don't see an ICE: void do_signbit_if (__ibm128 a) { volatile __ibm128 dst; dst = a; } Full rtl: (insn 2 4 3 2 (set (reg/v:IF 117 [ aD.2831 ]) (reg:IF 33 1 [ aD.2831 ])) "str.i":3:1 -1 (nil)) (note 3 2 6 2 NOTE_INSN_FUNCTION_BEG) (insn 6 3 0 2 (set (mem/v/c:IF (reg/f:DI 112 virtual-stack-vars) [1 dstD.2834+0 S16 A128]) (reg/v:IF 117 [ aD.2831 ])) "str.i":5:7 -1 (nil))