[llvm] r231945 - Add the "vbroadcasti128" instruction back.
Craig Topper
craig.topper at gmail.com
Wed Mar 11 10:42:29 PDT 2015
Does the backend not emit this instruction for the corresponding shuffle
pattern?
On Wed, Mar 11, 2015 at 10:29 AM, Juergen Ributzka <juergen at apple.com>
wrote:
> Author: ributzka
> Date: Wed Mar 11 12:29:03 2015
> New Revision: 231945
>
> URL: http://llvm.org/viewvc/llvm-project?rev=231945&view=rev
> Log:
> Add the "vbroadcasti128" instruction back.
>
> This is a follow-up to r231182. This adds the "vbroadcasti128" instruction
> back, but without the intrinsic mapping. Also add a test to check the
> instriction encoding.
>
> This is related to rdar://problem/18742778.
>
> Modified:
> llvm/trunk/lib/Target/X86/X86InstrSSE.td
> llvm/trunk/test/MC/X86/x86_64-avx-encoding.s
>
> Modified: llvm/trunk/lib/Target/X86/X86InstrSSE.td
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrSSE.td?rev=231945&r1=231944&r2=231945&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/Target/X86/X86InstrSSE.td (original)
> +++ llvm/trunk/lib/Target/X86/X86InstrSSE.td Wed Mar 11 12:29:03 2015
> @@ -7833,6 +7833,11 @@ def VBROADCASTSDYrr : avx2_broadcast_re
> int_x86_avx2_vbroadcast_sd_pd_256,
> WriteFShuffle256>, VEX_L;
>
> +let Predicates = [HasAVX2] in
> +def VBROADCASTI128 : avx_broadcast_no_int<0x5A, "vbroadcasti128", VR256,
> + i128mem, v4i64, loadv2i64,
> + WriteLoad>, VEX_L;
> +
> let Predicates = [HasAVX] in
> def : Pat<(int_x86_avx_vbroadcastf128_ps_256 addr:$src),
> (VBROADCASTF128 addr:$src)>;
>
> Modified: llvm/trunk/test/MC/X86/x86_64-avx-encoding.s
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/x86_64-avx-encoding.s?rev=231945&r1=231944&r2=231945&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/MC/X86/x86_64-avx-encoding.s (original)
> +++ llvm/trunk/test/MC/X86/x86_64-avx-encoding.s Wed Mar 11 12:29:03 2015
> @@ -3724,6 +3724,10 @@ vdivpd -4(%rcx,%rbx,8), %xmm10, %xmm11
> // CHECK: encoding: [0xc4,0x63,0x2d,0x40,0x18,0x03]
> vdpps $3, (%rax), %ymm10, %ymm11
>
> +// CHECK: vbroadcasti128 (%rax), %ymm12
> +// CHECK: encoding: [0xc4,0x62,0x7d,0x5a,0x20]
> + vbroadcasti128 (%rax), %ymm12
> +
> // CHECK: vbroadcastf128 (%rax), %ymm12
> // CHECK: encoding: [0xc4,0x62,0x7d,0x1a,0x20]
> vbroadcastf128 (%rax), %ymm12
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
--
~Craig
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150311/2488e94e/attachment.html>
More information about the llvm-commits
mailing list