187d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// REQUIRES: x86-registered-target 287d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// RUN: %clang_cc1 %s -triple i386-apple-darwin10 -fasm-blocks -emit-llvm -o - | FileCheck %s --check-prefix=DARWIN 387d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// RUN: %clang_cc1 %s -triple i686-pc-win32 -fasm-blocks -emit-llvm -o - | FileCheck %s --check-prefix=WINDOWS 487d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar 587d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// On Windows, .align is in bytes, and on Darwin, .align is in log2 form. The 687d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// Intel inline assembly parser should rewrite to the appropriate form depending 787d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// on the platform. 887d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar 987d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainarvoid align_test() { 1087d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar __asm align 8 1187d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar __asm align 16; 1287d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar __asm align 128; 1387d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar __asm ALIGN 256; 1487d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar} 1587d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar 1687d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// DARWIN-LABEL: define void @align_test() 1787d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// DARWIN: call void asm sideeffect inteldialect 1887d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// DARWIN-SAME: .align 3 1987d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// DARWIN-SAME: .align 4 2087d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// DARWIN-SAME: .align 7 2187d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// DARWIN-SAME: .align 8 2287d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// DARWIN-SAME: "~{dirflag},~{fpsr},~{flags}"() 2387d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar 2487d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// WINDOWS-LABEL: define void @align_test() 2587d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// WINDOWS: call void asm sideeffect inteldialect 2687d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// WINDOWS-SAME: .align 8 2787d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// WINDOWS-SAME: .align 16 2887d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// WINDOWS-SAME: .align 128 2987d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// WINDOWS-SAME: .align 256 3087d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// WINDOWS-SAME: "~{dirflag},~{fpsr},~{flags}"() 31