mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-04-14 06:37:33 +00:00
Fixed vsqrt.ss intrinsic usage - order of input operands was wrong.
Added a test. Thanks Bruno for reviewing the patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145403 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f267972d28
commit
f68b214e2d
@ -2872,7 +2872,7 @@ multiclass sse1_fp_unop_s_avx<bits<8> opc, string OpcodeStr> {
|
||||
!strconcat(OpcodeStr,
|
||||
"ss\t{$src2, $src1, $dst|$dst, $src1, $src2}"), []>;
|
||||
def SSm_Int : SSI<opc, MRMSrcMem, (outs VR128:$dst),
|
||||
(ins ssmem:$src1, VR128:$src2),
|
||||
(ins VR128:$src1, ssmem:$src2),
|
||||
!strconcat(OpcodeStr,
|
||||
"ss\t{$src2, $src1, $dst|$dst, $src1, $src2}"), []>;
|
||||
}
|
||||
|
@ -259,3 +259,14 @@ define <4 x i64> @mul-v4i64(<4 x i64> %i, <4 x i64> %j) nounwind readnone {
|
||||
ret <4 x i64> %x
|
||||
}
|
||||
|
||||
declare <4 x float> @llvm.x86.sse.sqrt.ss(<4 x float>) nounwind readnone
|
||||
|
||||
define <4 x float> @int_sqrt_ss() {
|
||||
; CHECK: int_sqrt_ss
|
||||
; CHECK: vsqrtss
|
||||
%x0 = load float addrspace(1)* undef, align 8
|
||||
%x1 = insertelement <4 x float> undef, float %x0, i32 0
|
||||
%x2 = call <4 x float> @llvm.x86.sse.sqrt.ss(<4 x float> %x1) nounwind
|
||||
ret <4 x float> %x2
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user