[lld] [llvm] [CodeGen] Use __extendhfsf2 and __truncsfhf2 by default (PR #126880)

Michał Górny via llvm-commits llvm-commits at lists.llvm.org
Sat Feb 22 02:37:21 PST 2025


mgorny wrote:

This change broke CSKY CodeGen tests:

```
FAIL: LLVM :: CodeGen/CSKY/fpu/fp16-promote.ll (1 of 46)                                                                               
******************** TEST 'LLVM :: CodeGen/CSKY/fpu/fp16-promote.ll' FAILED ********************                                       
Exit Code: 1                                                                                                                           
                                                                                                                                       
Command Output (stderr):                                                                                                               
--                                                                                                                                     
RUN: at line 2: /home/mgorny/llvm-project/build/bin/llc -verify-machineinstrs -csky-no-aliases < /home/mgorny/llvm-project/llvm/test/CodeGen/CSKY/fpu/fp16-promote.ll -mtriple=csky -float-abi=hard -mattr=+hard-float -mattr=+2e3 -mattr=+fpuv2_sf,+fpuv2_df | /home/mgorny/llvm-project/build/bin/FileCheck /home/mgorny/llvm-project/llvm/test/CodeGen/CSKY/fpu/fp16-promote.ll --check-prefix=CHECK-FPUV2
+ /home/mgorny/llvm-project/build/bin/llc -verify-machineinstrs -csky-no-aliases -mtriple=csky -float-abi=hard -mattr=+hard-float -mattr=+2e3 -mattr=+fpuv2_sf,+fpuv2_df
+ /home/mgorny/llvm-project/build/bin/FileCheck /home/mgorny/llvm-project/llvm/test/CodeGen/CSKY/fpu/fp16-promote.ll --check-prefix=CHECK-FPUV2
/home/mgorny/llvm-project/llvm/test/CodeGen/CSKY/fpu/fp16-promote.ll:36:21: error: CHECK-FPUV2-NEXT: expected string not found in input
; CHECK-FPUV2-NEXT: .long __gnu_h2f_ieee                                                                                               
                    ^                                                                                                                  
<stdin>:29:10: note: scanning from here                                                                                                
.LCPI1_0:                                                                                                                              
         ^                                                                                                                             
<stdin>:30:2: note: possible intended match here                                                                                       
 .long __extendhfsf2                                                                                                                   
 ^                                                                                                                                     
/home/mgorny/llvm-project/llvm/test/CodeGen/CSKY/fpu/fp16-promote.ll:72:21: error: CHECK-FPUV2-NEXT: expected string not found in input
; CHECK-FPUV2-NEXT: .long __gnu_h2f_ieee                                                                                               
                    ^                                                                                                                  
<stdin>:50:10: note: scanning from here                                                                                                
.LCPI2_0:                                                                                                                              
         ^                                                                                                                             
<stdin>:51:2: note: possible intended match here                                                                                       
 .long __extendhfsf2                                                                                                                   
 ^                                                                                                                                     
/home/mgorny/llvm-project/llvm/test/CodeGen/CSKY/fpu/fp16-promote.ll:111:21: error: CHECK-FPUV2-NEXT: expected string not found in input
; CHECK-FPUV2-NEXT: .long __gnu_f2h_ieee                                                                                               
                    ^                                                                                                                  
<stdin>:73:10: note: scanning from here                                                                                                
.LCPI3_0:                                                                                                                              
         ^                                                                                                                             
<stdin>:74:2: note: possible intended match here                                                                                       
 .long __truncsfhf2                                                                                                                    
 ^                                                                                                                                     
/home/mgorny/llvm-project/llvm/test/CodeGen/CSKY/fpu/fp16-promote.ll:204:21: error: CHECK-FPUV2-NEXT: expected string not found in input
; CHECK-FPUV2-NEXT: .long __gnu_h2f_ieee                                                                                               
                    ^                                                                                                                  
<stdin>:130:10: note: scanning from here                                                                                               
.LCPI5_0:                                                                                                                              
         ^                                                                                                                             
<stdin>:133:2: note: possible intended match here                                                                                      
 .long __truncsfhf2                                                                                                                    
 ^                                                                                                                                     
/home/mgorny/llvm-project/llvm/test/CodeGen/CSKY/fpu/fp16-promote.ll:273:21: error: CHECK-FPUV2-NEXT: expected string not found in input
; CHECK-FPUV2-NEXT: .long __gnu_h2f_ieee                                                                                               
                    ^                                                                                                                  
<stdin>:166:10: note: scanning from here                                                                                               
.LCPI6_0:                                                                                                                              
         ^                                                                                                                             
<stdin>:169:2: note: possible intended match here                                                                                      
 .long __truncsfhf2                                                                                                                    
 ^                                                                                                                                     
                                                                                                                                       
Input file: <stdin>                                                                                                                    
Check file: /home/mgorny/llvm-project/llvm/test/CodeGen/CSKY/fpu/fp16-promote.ll                                                       
                                                                                                                                       
-dump-input=help explains the following input dump.                                                                                    
                                                                                                                                       
Input was:                                                                                                                             
<<<<<<                                                                                                                                 
            .                                                                                                                          
            .                                                                                                                          
            .                                                                                                                          
           24:  addi16 sp, sp, 4                                                                                                       
           25:  rts16                                                                                                                  
           26:  .p2align 1                                                                                                             
           27: # %bb.1:                                                                                                                
           28:  .p2align 2, 0x0                                                                                                        
           29: .LCPI1_0:                                                                                                               
next:36'0               X error: no match found                                                                                        
           30:  .long __extendhfsf2                                                                                                    
next:36'0      ~~~~~~~~~~~~~~~~~~~~~                                                                                                   
next:36'1       ?                    possible intended match                                                                           
           31: .Lfunc_end1:                                                                                                            
next:36'0      ~~~~~~~~~~~~~                                                                                                           
           32:  .size test_fpextend_float, .Lfunc_end1-test_fpextend_float                                                             
next:36'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                            
           33:  # -- End function                                                                                                      
next:36'0      ~~~~~~~~~~~~~~~~~~~                                                                                                     
           34:  .globl test_fpextend_double # -- Begin function test_fpextend_double                                                   
next:36'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                  
           35:  .p2align 1                                                                                                             
next:36'0      ~~~~~~~~~~~~                                                                                                            
            .                                                                                                                          
            .                                                                                                                          
            .                                                                                                                          
           45:  addi16 sp, sp, 4                                                                                                       
           46:  rts16                                                                                                                  
           47:  .p2align 1                                                                                                             
           48: # %bb.1:                                                                                                                
           49:  .p2align 2, 0x0                                                                                                        
           50: .LCPI2_0:                                                                                                               
next:72'0               X error: no match found                                                                                        
           51:  .long __extendhfsf2                                                                                                    
next:72'0      ~~~~~~~~~~~~~~~~~~~~~                                                                                                   
next:72'1       ?                    possible intended match                                                                           
           52: .Lfunc_end2:                                                                                                            
next:72'0      ~~~~~~~~~~~~~                                                                                                           
           53:  .size test_fpextend_double, .Lfunc_end2-test_fpextend_double                                                           
next:72'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                          
           54:  # -- End function                                                                                                      
next:72'0      ~~~~~~~~~~~~~~~~~~~                                                                                                     
           55:  .globl test_fptrunc_float # -- Begin function test_fptrunc_float                                                       
next:72'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                      
           56:  .p2align 1                                                                                                             
next:72'0      ~~~~~~~~~~~~                                                                                                            
            .                                                                                                                          
            .                                                                                                                          
            .                                                                                                                          
           68:  addi16 sp, sp, 8                                                                                                       
           69:  rts16                                                                                                                  
           70:  .p2align 1                                                                                                             
           71: # %bb.1:                                                                                                                
           72:  .p2align 2, 0x0                                                                                                        
           73: .LCPI3_0:                                                                                                               
next:111'0              X error: no match found                                                                                        
           74:  .long __truncsfhf2                                                                                                     
next:111'0     ~~~~~~~~~~~~~~~~~~~~                                                                                                    
next:111'1      ?                   possible intended match                                                                            
           75: .Lfunc_end3:                                                                                                            
next:111'0     ~~~~~~~~~~~~~                                                                                                           
           76:  .size test_fptrunc_float, .Lfunc_end3-test_fptrunc_float                                                               
next:111'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                              
           77:  # -- End function                                                                                                      
next:111'0     ~~~~~~~~~~~~~~~~~~~                                                                                                     
           78:  .globl test_fptrunc_double # -- Begin function test_fptrunc_double                                                     
next:111'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                    
           79:  .p2align 1                                                                                                             
next:111'0     ~~~~~~~~~~~~                                                                                                            
            .                                                                                                                          
            .                                                                                                                          
            .                                                                                                                          
          125:  addi16 sp, sp, 20                                                                                                      
          126:  rts16                                                                                                                  
          127:  .p2align 1                                                                                                             
          128: # %bb.1:                                                                                                                
          129:  .p2align 2, 0x0                                                                                                        
          130: .LCPI5_0:                                                                                                               
next:204'0              X error: no match found                                                                                        
          131:  .long __extendhfsf2                                                                                                    
next:204'0     ~~~~~~~~~~~~~~~~~~~~~                                                                                                   
          132: .LCPI5_1:                                                                                                               
next:204'0     ~~~~~~~~~~                                                                                                              
          133:  .long __truncsfhf2                                                                                                     
next:204'0     ~~~~~~~~~~~~~~~~~~~~                                                                                                    
next:204'1      ?                   possible intended match                                                                            
          134: .Lfunc_end5:                                                                                                            
next:204'0     ~~~~~~~~~~~~~                                                                                                           
          135:  .size test_fadd, .Lfunc_end5-test_fadd                                                                                 
next:204'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                                
          136:  # -- End function                                                                                                      
next:204'0     ~~~~~~~~~~~~~~~~~~~                                                                                                     
          137:  .globl test_fmul # -- Begin function test_fmul                                                                         
next:204'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                        
          138:  .p2align 1                                                                                                             
next:204'0     ~~~~~~~~~~~~                                                                                                            
            .                                                                                                                          
            .                                                                                                                          
            .                                                                                                                          
          161:  addi16 sp, sp, 20                                                                                                      
          162:  rts16                                                                                                                  
          163:  .p2align 1                                                                                                             
          164: # %bb.1:                                                                                                                
          165:  .p2align 2, 0x0                                                                                                        
          166: .LCPI6_0:                                                                                                               
next:273'0              X error: no match found                                                                                        
          167:  .long __extendhfsf2                                                                                                    
next:273'0     ~~~~~~~~~~~~~~~~~~~~~                                                                                                   
          168: .LCPI6_1:                                                                                                               
next:273'0     ~~~~~~~~~~                                                                                                              
          169:  .long __truncsfhf2                                                                                                     
next:273'0     ~~~~~~~~~~~~~~~~~~~~                                                                                                    
next:273'1      ?                   possible intended match                                                                            
          170: .Lfunc_end6:                                                                                                            
next:273'0     ~~~~~~~~~~~~~                                                                                                           
          171:  .size test_fmul, .Lfunc_end6-test_fmul                                                                                 
next:273'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                                
          172:  # -- End function                                                                                                      
next:273'0     ~~~~~~~~~~~~~~~~~~~                                                                                                     
          173:  .section ".note.GNU-stack","", at progbits                                                                                
next:273'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                               
>>>>>>                                                                                                                                 
                                                                                                                                       
--                                                                                                                                     
                                                                                                                                       
********************                                                                                                                   
********************                                                                                                                   
Failed Tests (1):                                                                                                                      
  LLVM :: CodeGen/CSKY/fpu/fp16-promote.ll                                                                                             
                                                                                                                                       
                                                                                                                                       
Testing Time: 0.54s                                                                                                                    
                                                                                                                                       
Total Discovered Tests: 46                                                                                                             
  Passed: 45 (97.83%)                                                                                                                  
  Failed:  1 (2.17%)                                                                                                                   
FAILED: test/CMakeFiles/check-llvm-codegen-csky /home/mgorny/llvm-project/build/test/CMakeFiles/check-llvm-codegen-csky                
```

https://github.com/llvm/llvm-project/pull/126880


More information about the llvm-commits mailing list