This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Question on TARGET_MMX and X86_TUNE_GENERAL_REGS_SSE_SPILL
- From: "Kumar, Venkataramanan" <Venkataramanan dot Kumar at amd dot com>
- To: "vmakarov at redhat dot com" <vmakarov at redhat dot com>, "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
- Cc: "Uros Bizjak (ubizjak at gmail dot com)" <ubizjak at gmail dot com>
- Date: Thu, 14 Apr 2016 05:39:49 +0000
- Subject: Question on TARGET_MMX and X86_TUNE_GENERAL_REGS_SSE_SPILL
- Authentication-results: sourceware.org; auth=none
- Authentication-results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=amd.com;
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:23
Hi,
X86_TUNE_GENERAL_REGS_SSE_SPILL: Try to spill general regs to SSE regs instead of memory.
I tried enabling the above tuning with -march=bdver4 -Ofast -mtune-ctrl=general_regs_sse_spill.
I did not find any code differences.
Looking at the below code to enable this tune, mmx ISA needs to be turned off.
static reg_class_t
ix86_spill_class (reg_class_t rclass, machine_mode mode)
{
if (TARGET_SSE && TARGET_GENERAL_REGS_SSE_SPILL && ! TARGET_MMX
&& (mode == SImode || (TARGET_64BIT && mode == DImode))
&& rclass != NO_REGS && INTEGER_CLASS_P (rclass))
return ALL_SSE_REGS;
return NO_REGS;
}
All processor variants enable MMX by default and why we need to switch off mmx?
Thanks and regards,
Venkat.