1// REQUIRES: x86-registered-target 2// RUN: %clang_cc1 %s -triple i386-apple-darwin10 -fasm-blocks -emit-llvm -o - | FileCheck %s --check-prefix=DARWIN 3// RUN: %clang_cc1 %s -triple i686-pc-win32 -fasm-blocks -emit-llvm -o - | FileCheck %s --check-prefix=WINDOWS 4 5// On Windows, .align is in bytes, and on Darwin, .align is in log2 form. The 6// Intel inline assembly parser should rewrite to the appropriate form depending 7// on the platform. 8 9void align_test() { 10 __asm align 8 11 __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 inteldialect 18// DARWIN-SAME: .align 3 19// DARWIN-SAME: .align 4 20// DARWIN-SAME: .align 7 21// DARWIN-SAME: .align 8 22// DARWIN-SAME: "~{dirflag},~{fpsr},~{flags}"() 23 24// WINDOWS-LABEL: define void @align_test() 25// WINDOWS: call void asm sideeffect inteldialect 26// WINDOWS-SAME: .align 8 27// WINDOWS-SAME: .align 16 28// WINDOWS-SAME: .align 128 29// WINDOWS-SAME: .align 256 30// WINDOWS-SAME: "~{dirflag},~{fpsr},~{flags}"() 31