Commit 7c831c4d by Kirill Yukhin Committed by Kirill Yukhin

i386.h (ADDITIONAL_REGISTER_NAMES): Add ymm and zmm register names.

gcc/
	* config/i386/i386.h (ADDITIONAL_REGISTER_NAMES): Add
	ymm and zmm register names.

gcc/testsuite/
	* gcc.target/i386/avx-additional-reg-names.c: New.
	* gcc.target/i386/avx512f-additional-reg-names.c: Ditto.

From-SVN: r208631
parent f2538eee
2013-03-18 Kirill Yukhin <kirill.yukhin@intel.com>
* config/i386/i386.h (ADDITIONAL_REGISTER_NAMES): Add
ymm and zmm register names.
2014-03-17 Jakub Jelinek <jakub@redhat.com>
PR target/60516
......
......@@ -2016,12 +2016,28 @@ do { \
/* Table of additional register names to use in user input. */
#define ADDITIONAL_REGISTER_NAMES \
{ { "eax", 0 }, { "edx", 1 }, { "ecx", 2 }, { "ebx", 3 }, \
{ "esi", 4 }, { "edi", 5 }, { "ebp", 6 }, { "esp", 7 }, \
{ "rax", 0 }, { "rdx", 1 }, { "rcx", 2 }, { "rbx", 3 }, \
{ "rsi", 4 }, { "rdi", 5 }, { "rbp", 6 }, { "rsp", 7 }, \
{ "al", 0 }, { "dl", 1 }, { "cl", 2 }, { "bl", 3 }, \
{ "ah", 0 }, { "dh", 1 }, { "ch", 2 }, { "bh", 3 } }
{ { "eax", 0 }, { "edx", 1 }, { "ecx", 2 }, { "ebx", 3 }, \
{ "esi", 4 }, { "edi", 5 }, { "ebp", 6 }, { "esp", 7 }, \
{ "rax", 0 }, { "rdx", 1 }, { "rcx", 2 }, { "rbx", 3 }, \
{ "rsi", 4 }, { "rdi", 5 }, { "rbp", 6 }, { "rsp", 7 }, \
{ "al", 0 }, { "dl", 1 }, { "cl", 2 }, { "bl", 3 }, \
{ "ah", 0 }, { "dh", 1 }, { "ch", 2 }, { "bh", 3 }, \
{ "ymm0", 21}, { "ymm1", 22}, { "ymm2", 23}, { "ymm3", 24}, \
{ "ymm4", 25}, { "ymm5", 26}, { "ymm6", 27}, { "ymm7", 28}, \
{ "ymm8", 45}, { "ymm9", 46}, { "ymm10", 47}, { "ymm11", 48}, \
{ "ymm12", 49}, { "ymm13", 50}, { "ymm14", 51}, { "ymm15", 52}, \
{ "ymm16", 53}, { "ymm17", 54}, { "ymm18", 55}, { "ymm19", 56}, \
{ "ymm20", 57}, { "ymm21", 58}, { "ymm22", 59}, { "ymm23", 60}, \
{ "ymm24", 61}, { "ymm25", 62}, { "ymm26", 63}, { "ymm27", 64}, \
{ "ymm28", 65}, { "ymm29", 66}, { "ymm30", 67}, { "ymm31", 68}, \
{ "zmm0", 21}, { "zmm1", 22}, { "zmm2", 23}, { "zmm3", 24}, \
{ "zmm4", 25}, { "zmm5", 26}, { "zmm6", 27}, { "zmm7", 28}, \
{ "zmm8", 45}, { "zmm9", 46}, { "zmm10", 47}, { "zmm11", 48}, \
{ "zmm12", 49}, { "zmm13", 50}, { "zmm14", 51}, { "zmm15", 52}, \
{ "zmm16", 53}, { "zmm17", 54}, { "zmm18", 55}, { "zmm19", 56}, \
{ "zmm20", 57}, { "zmm21", 58}, { "zmm22", 59}, { "zmm23", 60}, \
{ "zmm24", 61}, { "zmm25", 62}, { "zmm26", 63}, { "zmm27", 64}, \
{ "zmm28", 65}, { "zmm29", 66}, { "zmm30", 67}, { "zmm31", 68} }
/* Note we are omitting these since currently I don't know how
to get gcc to use these, since they want the same but different
......
2014-03-18 Kirill Yukhin <kirill.yukhin@intel.com>
* gcc.target/i386/avx-additional-reg-names.c: New.
* gcc.target/i386/avx512f-additional-reg-names.c: Ditto.
2014-03-17 Adam Butcher <adam@jessamine.co.uk>
PR c++/60390
......
/* { dg-do compile } */
/* { dg-options "-mavx" } */
void foo ()
{
register int ymm_var asm ("ymm4");
__asm__ __volatile__("vxorpd %%ymm0, %%ymm0, %%ymm7\n" : : : "ymm7" );
}
/* { dg-do compile } */
/* { dg-options "-mavx512f" } */
void foo ()
{
register int zmm_var asm ("zmm9");
__asm__ __volatile__("vxorpd %%zmm0, %%zmm0, %%zmm7\n" : : : "zmm7" );
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment