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