| Index: src/IceTargetLoweringX8632.cpp
 | 
| diff --git a/src/IceTargetLoweringX8632.cpp b/src/IceTargetLoweringX8632.cpp
 | 
| index df7d04f591fb487293b29f8d21352219ce5112a5..6e25816eb8eba9172a0207814213b09bc51a487c 100644
 | 
| --- a/src/IceTargetLoweringX8632.cpp
 | 
| +++ b/src/IceTargetLoweringX8632.cpp
 | 
| @@ -107,7 +107,7 @@ CondX86::BrCond getIcmp32Mapping(InstIcmp::ICond Cond) {
 | 
|  const struct TableTypeX8632Attributes_ {
 | 
|    Type InVectorElementType;
 | 
|  } TableTypeX8632Attributes[] = {
 | 
| -#define X(tag, elementty, cvt, sdss, pack, width)                              \
 | 
| +#define X(tag, elementty, cvt, sdss, pack, width, fld)                         \
 | 
|    { elementty }                                                                \
 | 
|    ,
 | 
|      ICETYPEX8632_TABLE
 | 
| @@ -245,7 +245,7 @@ namespace dummy3 {
 | 
|  // Define a temporary set of enum values based on low-level table
 | 
|  // entries.
 | 
|  enum _tmp_enum {
 | 
| -#define X(tag, elementty, cvt, sdss, pack, width) _tmp_##tag,
 | 
| +#define X(tag, elementty, cvt, sdss, pack, width, fld) _tmp_##tag,
 | 
|    ICETYPEX8632_TABLE
 | 
|  #undef X
 | 
|        _num
 | 
| @@ -257,7 +257,7 @@ ICETYPE_TABLE;
 | 
|  #undef X
 | 
|  // Define a set of constants based on low-level table entries, and
 | 
|  // ensure the table entry keys are consistent.
 | 
| -#define X(tag, elementty, cvt, sdss, pack, width)                              \
 | 
| +#define X(tag, elementty, cvt, sdss, pack, width, fld)                         \
 | 
|    static const int _table2_##tag = _tmp_##tag;                                 \
 | 
|    static_assert(_table1_##tag == _table2_##tag,                                \
 | 
|                  "Inconsistency between ICETYPEX8632_TABLE and ICETYPE_TABLE");
 | 
| @@ -509,20 +509,16 @@ IceString TargetX8632::getRegName(SizeT RegNum, Type Ty) const {
 | 
|  void TargetX8632::emitVariable(const Variable *Var) const {
 | 
|    Ostream &Str = Ctx->getStrEmit();
 | 
|    if (Var->hasReg()) {
 | 
| -    Str << getRegName(Var->getRegNum(), Var->getType());
 | 
| +    Str << "%" << getRegName(Var->getRegNum(), Var->getType());
 | 
|      return;
 | 
|    }
 | 
| -  Str << InstX8632::getWidthString(Var->getType());
 | 
| -  Str << " [" << getRegName(getFrameOrStackReg(), IceType_i32);
 | 
| +  const Type Ty = IceType_i32;
 | 
|    int32_t Offset = Var->getStackOffset();
 | 
|    if (!hasFramePointer())
 | 
|      Offset += getStackAdjustment();
 | 
| -  if (Offset) {
 | 
| -    if (Offset > 0)
 | 
| -      Str << "+";
 | 
| +  if (Offset)
 | 
|      Str << Offset;
 | 
| -  }
 | 
| -  Str << "]";
 | 
| +  Str << "(%" << getRegName(getFrameOrStackReg(), Ty) << ")";
 | 
|  }
 | 
|  
 | 
|  x86::Address TargetX8632::stackVarToAsmOperand(const Variable *Var) const {
 | 
| @@ -995,7 +991,7 @@ template <typename T> void TargetX8632::emitConstantPool() const {
 | 
|      assert(CharsPrinted >= 0 &&
 | 
|             (size_t)CharsPrinted < llvm::array_lengthof(buf));
 | 
|      (void)CharsPrinted; // avoid warnings if asserts are disabled
 | 
| -    Str << "L$" << Ty << "$" << Const->getPoolEntryID() << ":\n";
 | 
| +    Str << ".L$" << Ty << "$" << Const->getPoolEntryID() << ":\n";
 | 
|      Str << "\t" << T::AsmTag << "\t" << buf << "\t# " << T::TypeName << " "
 | 
|          << Value << "\n";
 | 
|    }
 | 
| @@ -4598,7 +4594,7 @@ void TargetX8632::postLower() {
 | 
|  
 | 
|  template <> void ConstantInteger32::emit(GlobalContext *Ctx) const {
 | 
|    Ostream &Str = Ctx->getStrEmit();
 | 
| -  Str << (int32_t)getValue();
 | 
| +  Str << "$" << (int32_t)getValue();
 | 
|  }
 | 
|  
 | 
|  template <> void ConstantInteger64::emit(GlobalContext *) const {
 | 
| @@ -4607,14 +4603,12 @@ template <> void ConstantInteger64::emit(GlobalContext *) const {
 | 
|  
 | 
|  template <> void ConstantFloat::emit(GlobalContext *Ctx) const {
 | 
|    Ostream &Str = Ctx->getStrEmit();
 | 
| -  // It would be better to prefix with ".L$" instead of "L$", but
 | 
| -  // llvm-mc doesn't parse "dword ptr [.L$foo]".
 | 
| -  Str << "dword ptr [L$" << IceType_f32 << "$" << getPoolEntryID() << "]";
 | 
| +  Str << ".L$" << IceType_f32 << "$" << getPoolEntryID();
 | 
|  }
 | 
|  
 | 
|  template <> void ConstantDouble::emit(GlobalContext *Ctx) const {
 | 
|    Ostream &Str = Ctx->getStrEmit();
 | 
| -  Str << "qword ptr [L$" << IceType_f64 << "$" << getPoolEntryID() << "]";
 | 
| +  Str << ".L$" << IceType_f64 << "$" << getPoolEntryID();
 | 
|  }
 | 
|  
 | 
|  void ConstantUndef::emit(GlobalContext *) const {
 | 
| 
 |