mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-26 12:20:42 +00:00
teach libanalysis to simplify vector loads with bitcast sources. This
implements something out of Target/README.txt producing: _foo: ## @foo movl 4(%esp), %eax movapd LCPI1_0, %xmm0 movapd %xmm0, (%eax) ret $4 instead of: _foo: ## @foo movl 4(%esp), %eax movapd _b, %xmm0 mulpd LCPI1_0, %xmm0 addpd _a, %xmm0 movapd %xmm0, (%eax) ret $4 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84942 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -77,3 +77,13 @@ define i128 @test9() {
|
||||
; @test9
|
||||
; CHECK: ret i128 112312312
|
||||
}
|
||||
|
||||
; vector load.
|
||||
define <2 x i64> @test10() {
|
||||
%r = load <2 x i64>* bitcast({i64, i64}* @test3 to <2 x i64>*)
|
||||
ret <2 x i64> %r
|
||||
|
||||
; @test10
|
||||
; CHECK: ret <2 x i64> <i64 112312312, i64 0>
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user