mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-11-04 05:17:07 +00:00 
			
		
		
		
	This adds support for an -mattr option to the gold plugin and to llvm-lto. This allows the caller to specify details of the subtarget architecture, like +aes, or +ssse3 on x86. Note that this requires a change to the include/llvm-c/lto.h interface: it adds a function lto_codegen_set_attr and it increments the version of the interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207279 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			16 lines
		
	
	
		
			749 B
		
	
	
	
		
			LLVM
		
	
	
	
	
	
			
		
		
	
	
			16 lines
		
	
	
		
			749 B
		
	
	
	
		
			LLVM
		
	
	
	
	
	
; RUN: llvm-as < %s >%t1
 | 
						|
; RUN: llvm-lto -exported-symbol=test_x86_aesni_aeskeygenassist -mattr=+aes -o %t2 %t1
 | 
						|
; RUN: llvm-objdump -d %t2 | FileCheck -check-prefix=WITH_AES %s
 | 
						|
; RUN: not llvm-lto -exported-symbol=test_x86_aesni_aeskeygenassist -mattr=-aes -o %t3 %t1 2>&1 | FileCheck -check-prefix=WITHOUT_AES %s
 | 
						|
 | 
						|
target triple = "x86_64-unknown-linux-gnu"
 | 
						|
declare <2 x i64> @llvm.x86.aesni.aeskeygenassist(<2 x i64>, i8)
 | 
						|
define <2 x i64> @test_x86_aesni_aeskeygenassist(<2 x i64> %a0) {
 | 
						|
  ; WITH_AES: test_x86_aesni_aeskeygenassist
 | 
						|
  ; WITH_AES: aeskeygenassist
 | 
						|
  %res = call <2 x i64> @llvm.x86.aesni.aeskeygenassist(<2 x i64> %a0, i8 7)
 | 
						|
  ret <2 x i64> %res
 | 
						|
}
 | 
						|
 | 
						|
; WITHOUT_AES: LLVM ERROR: Cannot select: intrinsic %llvm.x86.aesni.aeskeygenassist
 |