From: Ilya Tocar Date: Thu, 25 Aug 2016 13:39:07 +0000 (+0300) Subject: cmd/internal/obj/x86: Make VPSHUFD accept negative constant X-Git-Tag: go1.8beta1~1542 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=04ade8e428fdd302ab8666d3fc5d8953caa4abcb;p=gostls13.git 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 --- 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}},