aboutsummaryrefslogtreecommitdiff
path: root/compiler_wrapper/x64_flags.go
diff options
context:
space:
mode:
Diffstat (limited to 'compiler_wrapper/x64_flags.go')
-rw-r--r--compiler_wrapper/x64_flags.go21
1 files changed, 21 insertions, 0 deletions
diff --git a/compiler_wrapper/x64_flags.go b/compiler_wrapper/x64_flags.go
new file mode 100644
index 00000000..40505cf8
--- /dev/null
+++ b/compiler_wrapper/x64_flags.go
@@ -0,0 +1,21 @@
+// Copyright 2019 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package main
+
+import (
+ "strings"
+)
+
+func processX86Flags(builder *commandBuilder) {
+ arch := builder.target.arch
+ if strings.HasPrefix(arch, "x86_64") || startswithI86(arch) {
+ builder.addPostUserArgs("-mno-movbe")
+ }
+}
+
+// Returns true if s starts with i.86.
+func startswithI86(s string) bool {
+ return len(s) >= 4 && s[0] == 'i' && s[2:4] == "86"
+}