31 lines · c
1// REQUIRES: x86-registered-target2// RUN: %clang_cc1 %s -triple i386-apple-darwin10 -fasm-blocks -emit-llvm -o - | FileCheck %s --check-prefix=DARWIN3// RUN: %clang_cc1 %s -triple i686-pc-win32 -fasm-blocks -emit-llvm -o - | FileCheck %s --check-prefix=WINDOWS4 5// On Windows, .align is in bytes, and on Darwin, .align is in log2 form. The6// Intel inline assembly parser should rewrite to the appropriate form depending7// on the platform.8 9void align_test(void) {10 __asm align 811 __asm align 16;12 __asm align 128;13 __asm ALIGN 256;14}15 16// DARWIN-LABEL: define{{.*}} void @align_test()17// DARWIN: call void asm sideeffect inteldialect18// DARWIN-SAME: .align 319// DARWIN-SAME: .align 420// DARWIN-SAME: .align 721// DARWIN-SAME: .align 822// DARWIN-SAME: "~{dirflag},~{fpsr},~{flags}"()23 24// WINDOWS-LABEL: define dso_local void @align_test()25// WINDOWS: call void asm sideeffect inteldialect26// WINDOWS-SAME: .align 827// WINDOWS-SAME: .align 1628// WINDOWS-SAME: .align 12829// WINDOWS-SAME: .align 25630// WINDOWS-SAME: "~{dirflag},~{fpsr},~{flags}"()31