https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80303
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2017-04-11 CC| |krebbel at gcc dot gnu.org, | |vogt at linux dot vnet.ibm.com Ever confirmed|0 |1 --- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> --- There's a reduced test-case and also reduced flags. Looks it's somehow related to taking address of a label and the UBSAN is probably not directly involved in that. $ cat ice2.f double precision function dnrm2 ( n, dx, incx) double precision dx(1), cutlo, cuthi, hitest, sum, xmax,zero,one 10 assign 30 to next 20 go to next,(30, 50, 70, 110) 30 if( dabs(dx(i)) .gt. cutlo) go to 85 assign 50 to next 50 if( dx(i) .eq. zero) go to 200 70 if( dabs(dx(i)) .gt. cutlo ) go to 75 110 if( dabs(dx(i)) .le. xmax ) go to 115 115 sum = sum + (dx(i)/xmax)**2 75 sum = (sum * xmax) * xmax 85 hitest = cuthi/float( n ) 200 continue ix = ix + 1 if( ix .le. n ) go to 20 end $ ./xgcc -B. ice2.f -Os -march=zEC12 -fsanitize=signed-integer-overflow,alignment ... internal compiler error: output_operand: cannot decompose address 0xb7f717 output_operand_lossage(char const*, ...) ../../gcc/final.c:3457 0x13a6665 print_operand_address(_IO_FILE*, rtx_def*) ../../gcc/config/s390/s390.c:7325 0xf8bbb2 default_print_operand_address(_IO_FILE*, machine_mode, rtx_def*) ../../gcc/targhooks.c:357 0xb8044d output_address(machine_mode, rtx_def*) ../../gcc/final.c:3907 0xb7fe53 output_asm_insn(char const*, rtx_def**) ../../gcc/final.c:3768 0xb7ed76 final_scan_insn(rtx_insn*, _IO_FILE*, int, int, int*) ../../gcc/final.c:3058 0xb7cf20 final(rtx_insn*, _IO_FILE*, int) ../../gcc/final.c:2051 0xb815f4 rest_of_handle_final ../../gcc/final.c:4489 0xb818c2 execute ../../gcc/final.c:4562