You've already forked linux-packaging-mono
							
							
		
			
	
	
		
			45 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			45 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | # RUN: llc -march=amdgcn -start-after=greedy -stop-after=si-optimize-exec-masking -o - %s | FileCheck %s | ||
|  | # Check that we first do all vector instructions and only then change exec | ||
|  | # CHECK-DAG:  COPY %vgpr10_vgpr11 | ||
|  | # CHECK-DAG:  COPY %vgpr12_vgpr13 | ||
|  | # CHECK:      %exec = COPY | ||
|  | 
 | ||
|  | --- | ||
|  | name:            main | ||
|  | alignment:       0 | ||
|  | exposesReturnsTwice: false | ||
|  | legalized:       false | ||
|  | regBankSelected: false | ||
|  | selected:        false | ||
|  | tracksRegLiveness: true | ||
|  | liveins: | ||
|  |   - { reg: '%sgpr4_sgpr5' } | ||
|  |   - { reg: '%sgpr6' } | ||
|  |   - { reg: '%vgpr0' } | ||
|  | frameInfo: | ||
|  |   isFrameAddressTaken: false | ||
|  |   isReturnAddressTaken: false | ||
|  |   hasStackMap:     false | ||
|  |   hasPatchPoint:   false | ||
|  |   stackSize:       0 | ||
|  |   offsetAdjustment: 0 | ||
|  |   maxAlignment:    4 | ||
|  |   adjustsStack:    false | ||
|  |   hasCalls:        false | ||
|  |   maxCallFrameSize: 0 | ||
|  |   hasOpaqueSPAdjustment: false | ||
|  |   hasVAStart:      false | ||
|  |   hasMustTailInVarArgFunc: false | ||
|  | body:             | | ||
|  |   bb.0.entry: | ||
|  |     liveins: %vgpr3, %vgpr10_vgpr11, %vgpr12_vgpr13 | ||
|  | 
 | ||
|  |     %vcc = V_CMP_NE_U32_e64 0, killed %vgpr3, implicit %exec | ||
|  |     %sgpr4_sgpr5 = COPY %exec, implicit-def %exec | ||
|  |     %sgpr6_sgpr7 = S_AND_B64 %sgpr4_sgpr5, killed %vcc, implicit-def dead %scc | ||
|  |     %sgpr4_sgpr5 = S_XOR_B64 %sgpr6_sgpr7, killed %sgpr4_sgpr5, implicit-def dead %scc | ||
|  |     %vgpr61_vgpr62 = COPY %vgpr10_vgpr11 | ||
|  |     %vgpr155_vgpr156 = COPY %vgpr12_vgpr13 | ||
|  |     %exec = S_MOV_B64_term killed %sgpr6_sgpr7 | ||
|  | ... |