https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87163

Bill Seurer <seurer at linux dot vnet.ibm.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |meissner at gcc dot gnu.org,
                   |                            |seurer at linux dot 
vnet.ibm.com

--- Comment #8 from Bill Seurer <seurer at linux dot vnet.ibm.com> ---
I have duplicated the bug on a cross compile but not natively.

It occurs in the one function:

int do_signbit_if (__ibm128 a) { return __builtin_signbit (a); }

Natively this looks like this when dumped:

;;
;; 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:TF (reg/f:DI 112 virtual-stack-vars) [1 a+0 S16
A128])
        (reg:TF 33 1 [ a ])) "./signbit-1.c":7:32 -1
     (nil))
...

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))
...

Note the reg/mem differences.  There are similar ones further on.

Reply via email to