From 1fb9f42c6bcad9111d0f5ee8b8a419696c2ef561 Mon Sep 17 00:00:00 2001 From: Anton Blanchard Date: Sun, 17 Jan 2016 12:06:55 +0000 Subject: [PATCH] Fix LLVM default CPU on powerpc64 and powerpc64le We currently pass generic as the CPU to LLVM. This results in worse than required code generation. On little endian, which is only POWER8, we avoid many POWER4 and newer instructions. Pass ppc64 and ppc64le instead. --- src/librustc_back/target/powerpc64_unknown_linux_gnu.rs | 1 + src/librustc_back/target/powerpc64le_unknown_linux_gnu.rs | 1 + 2 files changed, 2 insertions(+) diff --git a/src/librustc_back/target/powerpc64_unknown_linux_gnu.rs b/src/librustc_back/target/powerpc64_unknown_linux_gnu.rs index 83970e73b93..3ba0c671d2e 100644 --- a/src/librustc_back/target/powerpc64_unknown_linux_gnu.rs +++ b/src/librustc_back/target/powerpc64_unknown_linux_gnu.rs @@ -12,6 +12,7 @@ use target::Target; pub fn target() -> Target { let mut base = super::linux_base::opts(); + base.cpu = "ppc64".to_string(); base.pre_link_args.push("-m64".to_string()); Target { diff --git a/src/librustc_back/target/powerpc64le_unknown_linux_gnu.rs b/src/librustc_back/target/powerpc64le_unknown_linux_gnu.rs index 0f5252fdc23..c82666ffcfe 100644 --- a/src/librustc_back/target/powerpc64le_unknown_linux_gnu.rs +++ b/src/librustc_back/target/powerpc64le_unknown_linux_gnu.rs @@ -12,6 +12,7 @@ use target::Target; pub fn target() -> Target { let mut base = super::linux_base::opts(); + base.cpu = "ppc64le".to_string(); base.pre_link_args.push("-m64".to_string()); Target {