Skip to content

Conversation

@tambry
Copy link
Contributor

@tambry tambry commented Nov 9, 2025

Files using the Intel syntax typically explicitly specify it. Do the same for the few relevant files for AT&T.

This enables building LLVM with -mllvm -x86-asm-syntax=intel in one's Clang config files (i.e. a global preference for Intel syntax).

Prior art: #164453 #166818

@llvmbot
Copy link
Member

llvmbot commented Nov 9, 2025

@llvm/pr-subscribers-bolt

Author: Raul Tambre (tambry)

Changes

Files using the Intel syntax typically explicitly specify it. Do the same for the few relevant files for AT&T.

This enables building LLVM with -mllvm -x86-asm-syntax=intel in one's Clang config files (i.e. a global preference for Intel syntax).

Prior art: #164453 #166818


Full diff: https://github.com/llvm/llvm-project/pull/167225.diff

4 Files Affected:

  • (modified) bolt/test/runtime/X86/Inputs/basic-instrumentation.s (+1)
  • (modified) bolt/test/runtime/X86/Inputs/internalcall.S (+1)
  • (modified) bolt/test/runtime/X86/Inputs/pie-exceptions-failed-split.s (+1)
  • (modified) bolt/test/runtime/X86/exceptions-lpstart-zero.s (+1)
diff --git a/bolt/test/runtime/X86/Inputs/basic-instrumentation.s b/bolt/test/runtime/X86/Inputs/basic-instrumentation.s
index 388d2cdbd085b..c28fa2210d256 100644
--- a/bolt/test/runtime/X86/Inputs/basic-instrumentation.s
+++ b/bolt/test/runtime/X86/Inputs/basic-instrumentation.s
@@ -1,3 +1,4 @@
+  .att_syntax
   .globl main
   .type main, %function
 main:
diff --git a/bolt/test/runtime/X86/Inputs/internalcall.S b/bolt/test/runtime/X86/Inputs/internalcall.S
index 775a67122d2d7..18f7914ef65ec 100644
--- a/bolt/test/runtime/X86/Inputs/internalcall.S
+++ b/bolt/test/runtime/X86/Inputs/internalcall.S
@@ -1,6 +1,7 @@
 // This is reduced test case for BOLT containing an internal call based on
 // GetCoreDump (from google core dumper).
 
+  .att_syntax
   .text
   .globl getCallback
   .type getCallback, %function
diff --git a/bolt/test/runtime/X86/Inputs/pie-exceptions-failed-split.s b/bolt/test/runtime/X86/Inputs/pie-exceptions-failed-split.s
index 5195d298b1bbe..fd12c26750b2c 100644
--- a/bolt/test/runtime/X86/Inputs/pie-exceptions-failed-split.s
+++ b/bolt/test/runtime/X86/Inputs/pie-exceptions-failed-split.s
@@ -49,6 +49,7 @@
 #			return !throw_test(argc, argv);
 #		}
 
+	.att_syntax
 	.text
 	.file	"exceptions-failed-split.cpp"
 	.globl	_Z3bari                         # -- Begin function _Z3bari
diff --git a/bolt/test/runtime/X86/exceptions-lpstart-zero.s b/bolt/test/runtime/X86/exceptions-lpstart-zero.s
index b487ff0fa2f59..1e377ea26cfd0 100644
--- a/bolt/test/runtime/X86/exceptions-lpstart-zero.s
+++ b/bolt/test/runtime/X86/exceptions-lpstart-zero.s
@@ -21,6 +21,7 @@
 # The exception table was modified with udata4 LPStartEncoding and sdata4
 # CallSiteEncoding.
 
+	.att_syntax
 	.text
 	.globl	main                            # -- Begin function main
 	.p2align	4, 0x90

Copy link
Contributor

@maksfb maksfb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for adjusting BOLT tests. I'm surprised only a few needed a change since we use AT&T syntax everywhere.

I wonder if it will be easier to set proper flags in lit.local.cfg?

This enables building LLVM with `-mllvm -x86-asm-syntax=intel` in one's
Clang config files (i.e. a global preference for Intel syntax).

`-masm=att` is insufficient as it doesn't override a specification of `-mllvm -x86-asm-syntax`.
@tambry
Copy link
Contributor Author

tambry commented Nov 18, 2025

@maksfb A vast majority of the tests don't use the Clang frontend to compile assembly so they're not affected. Across the whole LLVM codebase only a few tens of changes have been necessary (~30'ish).

I've switched to passing -mllvm -x86-asm-syntax=att explicitly in the lit local config and removed the explicit annotations per your preference.
Worth noting that #167234 would add these to all LLVM MC generated outputs going forward for better interoperability, and not just only for Intel. Explicit annotations would track somewhat better with that and is what the fixes elsewhere went with. To me that also seems cleaner than passing a x86-specific flag on all architectures, ignoring some accidental breakages while the explicit syntax output change hopefully gets merged and propagates.

@github-actions
Copy link

🐧 Linux x64 Test Results

  • 579 tests passed
  • 36 tests skipped

Copy link
Contributor

@maksfb maksfb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. Setting flags via config will prevent future failures for newly added tests.

@tambry tambry merged commit 58d9e47 into llvm:main Nov 19, 2025
10 checks passed
@tambry tambry deleted the bolt_test_att branch November 19, 2025 07:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants