From: Chris Lattner Date: Sat, 7 Oct 2006 05:19:31 +0000 (+0000) Subject: convert the sole sd unary intrinsic to a multiclass for consistency X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=86c1b3a2fd926b2f82fcff1a347ff922505a3c60;p=oota-llvm.git convert the sole sd unary intrinsic to a multiclass for consistency git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30786 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/X86/X86InstrSSE.td b/lib/Target/X86/X86InstrSSE.td index 3392ccd2baf..2fabca0d857 100644 --- a/lib/Target/X86/X86InstrSSE.td +++ b/lib/Target/X86/X86InstrSSE.td @@ -188,13 +188,6 @@ class S3I o, Format F, dag ops, string asm, list pattern> //===----------------------------------------------------------------------===// // Helpers for defining instructions that directly correspond to intrinsics. -class SS_Intr o, string asm, Intrinsic IntId> - : SSI; -class SS_Intm o, string asm, Intrinsic IntId> - : SSI; - multiclass SS_IntUnary o, string OpcodeStr, Intrinsic IntId> { def r : SSI o, string OpcodeStr, Intrinsic IntId> { [(set VR128:$dst, (v4f32 (IntId (load addr:$src))))]>; } -class SD_Intr o, string asm, Intrinsic IntId> - : SDI; -class SD_Intm o, string asm, Intrinsic IntId> - : SDI; +multiclass SD_IntUnary o, string OpcodeStr, Intrinsic IntId> { + def r : SDI; + def m : SDI; +} class SS_Intrr o, string asm, Intrinsic IntId> : SSI; +defm Int_SQRTSD : SD_IntUnary<0x51, "sqrtsd" , int_x86_sse2_sqrt_sd>; defm Int_RSQRTSS : SS_IntUnary<0x52, "rsqrtss", int_x86_sse_rsqrt_ss>; defm Int_RCPSS : SS_IntUnary<0x53, "rcpss" , int_x86_sse_rcp_ss>; - -def Int_SQRTSDr : SD_Intr<0x51, "sqrtsd {$src, $dst|$dst, $src}", - int_x86_sse2_sqrt_sd>; -def Int_SQRTSDm : SD_Intm<0x51, "sqrtsd {$src, $dst|$dst, $src}", - int_x86_sse2_sqrt_sd>; - let isTwoAddress = 1 in { let isCommutable = 1 in { def Int_MAXSSrr : SS_Intrr<0x5F, "maxss {$src2, $dst|$dst, $src2}",