public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/96866] New: ICE in print_operand_address, at config/rs6000/rs6000.c:13560
@ 2020-08-31 12:36 asolokha at gmx dot com
  2024-03-23 23:11 ` [Bug target/96866] " pinskia at gcc dot gnu.org
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: asolokha at gmx dot com @ 2020-08-31 12:36 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 96866
           Summary: ICE in print_operand_address, at
                    config/rs6000/rs6000.c:13560
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Keywords: ice-on-invalid-code
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---
            Target: powerpc-*-linux-gnu

gcc-11.0.0-alpha20200830 snapshot (g:6ccadc4c0486ff011a32c74de1a31148acb3cbe2)
ICEs when compiling gcc/testsuite/gcc.target/aarch64/asm-2.c w/ -fPIC:

% powerpc-e300c3-linux-gnu-gcc-11.0.0 -fPIC -c
gcc/testsuite/gcc.target/aarch64/asm-2.c
during RTL pass: final
gcc/testsuite/gcc.target/aarch64/asm-2.c: In function 'f':
gcc/testsuite/gcc.target/aarch64/asm-2.c:10:1: internal compiler error: in
print_operand_address, at config/rs6000/rs6000.c:13560
   10 | }
      | ^
0x700ec6 print_operand_address(_IO_FILE*, rtx_def*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200830/work/gcc-11-20200830/gcc/config/rs6000/rs6000.c:13560
0xa3de1d output_address(machine_mode, rtx_def*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200830/work/gcc-11-20200830/gcc/final.c:4067
0xa3eb4d output_asm_insn(char const*, rtx_def**)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200830/work/gcc-11-20200830/gcc/final.c:3924
0xa42c8c final_scan_insn_1
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200830/work/gcc-11-20200830/gcc/final.c:2715
0xa42f28 final_scan_insn(rtx_insn*, _IO_FILE*, int, int, int*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200830/work/gcc-11-20200830/gcc/final.c:3152
0xa43046 final_1
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200830/work/gcc-11-20200830/gcc/final.c:2020
0xa43d01 rest_of_handle_final
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200830/work/gcc-11-20200830/gcc/final.c:4658
0xa43d01 execute
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200830/work/gcc-11-20200830/gcc/final.c:4736

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug target/96866] ICE in print_operand_address, at config/rs6000/rs6000.c:13560
  2020-08-31 12:36 [Bug target/96866] New: ICE in print_operand_address, at config/rs6000/rs6000.c:13560 asolokha at gmx dot com
@ 2024-03-23 23:11 ` pinskia at gcc dot gnu.org
  2024-04-25  9:56 ` guojiufu at gcc dot gnu.org
  2024-04-25  9:57 ` guojiufu at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-03-23 23:11 UTC (permalink / raw)
  To: gcc-bugs

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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
             Target|powerpc-*-linux-gnu         |powerpc*-*-linux-gnu
   Last reconfirmed|                            |2024-03-23
     Ever confirmed|0                           |1

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Confirmed.

Testcase just in case the source file disappears from the testsuite:
```
void f (void) { extern int x; asm volatile ("#%a0" :: "X" (&x)); }

```

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug target/96866] ICE in print_operand_address, at config/rs6000/rs6000.c:13560
  2020-08-31 12:36 [Bug target/96866] New: ICE in print_operand_address, at config/rs6000/rs6000.c:13560 asolokha at gmx dot com
  2024-03-23 23:11 ` [Bug target/96866] " pinskia at gcc dot gnu.org
@ 2024-04-25  9:56 ` guojiufu at gcc dot gnu.org
  2024-04-25  9:57 ` guojiufu at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: guojiufu at gcc dot gnu.org @ 2024-04-25  9:56 UTC (permalink / raw)
  To: gcc-bugs

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

Jiu Fu Guo <guojiufu at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |guojiufu at gcc dot gnu.org

--- Comment #2 from Jiu Fu Guo <guojiufu at gcc dot gnu.org> ---
with -fPIC, the asm insn in RTL looks like:

(insn 8 7 0 (parallel [                                                         
            (asm_operands/v ("#%a0") ("") 0 [                                   
                    (symbol_ref:DI ("x") [flags 0x80]  <var_decl 0x200000b00360
x>)                                            
                ]                                                               
                 [                                                              
                    (asm_input:DI ("X") t.c:9)                                  
                ]                                                               
                 [] t.c:9)                                                      
            (clobber (reg:SI 98 ca))                                            
        ]) "t.c":9:3 -1                                                         
     (nil))


Here operand 0 of asm is "(symbol_ref:DI ("x")..)", this is not handled as the
invalid address.
Some targets(e.g. x86_64) report messages (like "invalid constraints for
operand") for this code.

This PR mentions ice-on-invalid-code too :)

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug target/96866] ICE in print_operand_address, at config/rs6000/rs6000.c:13560
  2020-08-31 12:36 [Bug target/96866] New: ICE in print_operand_address, at config/rs6000/rs6000.c:13560 asolokha at gmx dot com
  2024-03-23 23:11 ` [Bug target/96866] " pinskia at gcc dot gnu.org
  2024-04-25  9:56 ` guojiufu at gcc dot gnu.org
@ 2024-04-25  9:57 ` guojiufu at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: guojiufu at gcc dot gnu.org @ 2024-04-25  9:57 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from Jiu Fu Guo <guojiufu at gcc dot gnu.org> ---

While, I'm wondering if we could accept this code, and handle it as something
like:

(insn 5 4 6 (set (reg/f:DI 118)
        (mem/u/c:DI (unspec:DI [
                    (symbol_ref/u:DI ("*.LC0") [flags 0x2])
                    (reg:DI 2 2)
                ] UNSPEC_TOCREL) [2  S8 A8])) "t.c":8:8 -1
     (expr_list:REG_EQUAL (symbol_ref:DI ("x") [flags 0x80]  <var_decl
0x200000b00360 x>)
        (nil)))

(insn 6 5 0 (parallel [
            (asm_operands/v ("#%a0") ("") 0 [
                    (reg/f:DI 118)
                ]
                 [
                    (asm_input:DI ("X") t.c:9)
                ]
                 [] t.c:9)
            (clobber (reg:SI 98 ca))
        ]) "t.c":9:3 -1
     (nil))

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-04-25  9:57 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-31 12:36 [Bug target/96866] New: ICE in print_operand_address, at config/rs6000/rs6000.c:13560 asolokha at gmx dot com
2024-03-23 23:11 ` [Bug target/96866] " pinskia at gcc dot gnu.org
2024-04-25  9:56 ` guojiufu at gcc dot gnu.org
2024-04-25  9:57 ` guojiufu at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).