summaryrefslogtreecommitdiff
path: root/cg.c
diff options
context:
space:
mode:
authorJohn van Groningen2010-12-13 11:47:06 +0000
committerJohn van Groningen2010-12-13 11:47:06 +0000
commite3910aabcb617a6e1fb0e7057e2f65a9a3be2617 (patch)
tree6c1658c1168a168bab7cea06e41f8370f04c86b7 /cg.c
parentfix centry on 64 bit linux for the first 4 int arguments, (diff)
optimize for cpu with a 128 bit sse unit (instead of 64):
use mosvd instead of movlpd for loads and use movapd instead of movsd for register to register moves, add -sse64 option to optimize for 64 bit sse,
Diffstat (limited to 'cg.c')
-rw-r--r--cg.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/cg.c b/cg.c
index 9d06db9..e70abb4 100644
--- a/cg.c
+++ b/cg.c
@@ -617,6 +617,10 @@ extern int compiler_id;
extern int intel_asm;
#endif
+#ifdef G_AI64
+extern int sse_128;
+#endif
+
#ifdef MAIN_CLM
# if !(defined (__MWERKS__) && defined (__cplusplus))
# ifdef CG_PPC_XO
@@ -705,6 +709,10 @@ int main (int argc,char **argv)
else if (!strcmp (s,"intelasm"))
intel_asm=1;
#endif
+#ifdef G_AI64
+ else if (!strcmp (s,"sse64"))
+ sse_128=0;
+#endif
else if (!strcmp (s,"mc68000")){
mc68000_flag=1;
mc68881_flag=0;