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

--- Comment #20 from Kewen Lin <linkw at gcc dot gnu.org> ---
(In reply to Arseny Solokha from comment #19)
> (In reply to Kewen Lin from comment #17)
> > (In reply to Arseny Solokha from comment #16)
> > > Could there be any ld, or as, or glibc features involved that gcc's
> > > configure detects at build time?
> > 
> > btw, could you try the above configuration
> > which I used on x86_64 to confirm the configuration actually fails to
> > reproduce? Note that I don't have one actual directory for the sysroot
> > locally.
> > 
> > If you can confirm the above configuration also fails to reproduce on your
> > side, maybe you can isolate which configuration option matters by adding
> > those omitted back one by one on your side.
> 
> No, w/ your configuration gcc also ICEs for me on that testcase.
> 
> Is there any useful data that I could extract for you using gdb?

Thanks for the information! I'll go with your provided binutils information and
try again. How about the information on glibc as well?

As to gdb, I would expect that:

1) (TARGET_LONG_DOUBLE_128 && TARGET_HARD_FLOAT && !TARGET_IEEEQUAD)

this return false on your side, which is the flag used for previous bif
support.
Could you check all the values?

2) FLOAT128_2REG_P (TFmode)

this return true on your side, and as the below defintion,

#define FLOAT128_2REG_P(MODE)                                           \
  (FLOAT128_IBM_P (MODE)                                                \
   || ((MODE) == TDmode)                                                \
   || (!TARGET_FLOAT128_TYPE && FLOAT128_IEEE_P (MODE)))

#define FLOAT128_IBM_P(MODE)                                            \
  ((!TARGET_IEEEQUAD && TARGET_LONG_DOUBLE_128                          \
    && ((MODE) == TFmode || (MODE) == TCmode))                          \
   || (TARGET_HARD_FLOAT && ((MODE) == IFmode || (MODE) == ICmode)))

Could you check which condition arm makes FLOAT128_2REG_P true on your side?

Reply via email to