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

Kewen Lin <linkw at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|2021-12-10 00:00:00         |2021-12-27

--- Comment #21 from Kewen Lin <linkw at gcc dot gnu.org> ---
> 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?

After typing these checks, I just tried and realized that my local cross-build
on ppc64le can reproduce this if I specify -mlong-double-128. So Arseny's local
env make this option default as -mlong-double-128 while mine uses
-mlong-double-64.  Thanks Arseny! :)

So confirmed.

Reply via email to