From 04ade8e428fdd302ab8666d3fc5d8953caa4abcb Mon Sep 17 00:00:00 2001 From: Ilya Tocar Date: Thu, 25 Aug 2016 16:39:07 +0300 Subject: [PATCH] cmd/internal/obj/x86: Make VPSHUFD accept negative constant This partially reverts commit 4e24e1d9996b0b0155c8349e49244d9694c89708. Since in release 1.7 VPSHUFD support negative constant as an argument, removing it as part of 4e24e1d9996b0b0155c8349e49244d9694c89708 was wrong. Add it back. Change-Id: Id1a3e062fe8fb4cf538edb3f9970f0664f3f545f Reviewed-on: https://go-review.googlesource.com/27712 Run-TryBot: Ilya Tocar Reviewed-by: Keith Randall TryBot-Result: Gobot Gobot --- src/cmd/internal/obj/x86/asm6.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/cmd/internal/obj/x86/asm6.go b/src/cmd/internal/obj/x86/asm6.go index 5d6a9d8c5a..e9d84650f2 100644 --- a/src/cmd/internal/obj/x86/asm6.go +++ b/src/cmd/internal/obj/x86/asm6.go @@ -857,6 +857,8 @@ var yvex_ri3 = []ytab{ var yvex_xyi3 = []ytab{ {Yu8, Yxm, Yxr, Zvex_i_rm_r, 2}, {Yu8, Yym, Yyr, Zvex_i_rm_r, 2}, + {Yi8, Yxm, Yxr, Zvex_i_rm_r, 2}, + {Yi8, Yym, Yyr, Zvex_i_rm_r, 2}, } var yvex_yyi4 = []ytab{ //TODO don't hide 4 op, some version have xmm version @@ -1712,7 +1714,7 @@ var optab = {AVPBROADCASTB, yvex_vpbroadcast, Pvex, [23]uint8{VEX_128_66_0F38_W0, 0x78, VEX_256_66_0F38_W0, 0x78}}, {AVPTEST, yvex_xy2, Pvex, [23]uint8{VEX_128_66_0F38_WIG, 0x17, VEX_256_66_0F38_WIG, 0x17}}, {AVPSHUFB, yvex_xy3, Pvex, [23]uint8{VEX_128_66_0F38_WIG, 0x00, VEX_256_66_0F38_WIG, 0x00}}, - {AVPSHUFD, yvex_xyi3, Pvex, [23]uint8{VEX_128_66_0F_WIG, 0x70, VEX_256_66_0F_WIG, 0x70}}, + {AVPSHUFD, yvex_xyi3, Pvex, [23]uint8{VEX_128_66_0F_WIG, 0x70, VEX_256_66_0F_WIG, 0x70, VEX_128_66_0F_WIG, 0x70, VEX_256_66_0F_WIG, 0x70}}, {AVPOR, yvex_xy3, Pvex, [23]uint8{VEX_128_66_0F_WIG, 0xeb, VEX_256_66_0F_WIG, 0xeb}}, {AVPADDQ, yvex_xy3, Pvex, [23]uint8{VEX_128_66_0F_WIG, 0xd4, VEX_256_66_0F_WIG, 0xd4}}, {AVPADDD, yvex_xy3, Pvex, [23]uint8{VEX_128_66_0F_WIG, 0xfe, VEX_256_66_0F_WIG, 0xfe}}, -- 2.48.1