mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-25 05:22:04 +00:00
pcmpeqd and friends are Commutable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106886 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
; RUN: llc -march=x86-64 < %s | FileCheck %s
|
||||
|
||||
; Commute the comparison to avoid a move.
|
||||
; PR7500.
|
||||
|
||||
; CHECK: a:
|
||||
; CHECK-NOT: mov
|
||||
; CHECK: pcmpeqd
|
||||
define <2 x double> @a(<2 x double>, <2 x double>) nounwind readnone {
|
||||
entry:
|
||||
%tmp6 = bitcast <2 x double> %0 to <4 x i32> ; <<4 x i32>> [#uses=2]
|
||||
%tmp4 = bitcast <2 x double> %1 to <4 x i32> ; <<4 x i32>> [#uses=1]
|
||||
%cmp = icmp eq <4 x i32> %tmp6, %tmp4 ; <<4 x i1>> [#uses=1]
|
||||
%sext = sext <4 x i1> %cmp to <4 x i32> ; <<4 x i32>> [#uses=1]
|
||||
%and = and <4 x i32> %tmp6, %sext ; <<4 x i32>> [#uses=1]
|
||||
%tmp8 = bitcast <4 x i32> %and to <2 x double> ; <<2 x double>> [#uses=1]
|
||||
ret <2 x double> %tmp8
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user