| //===---- subzero/src/IceTargetLoweringX86.cpp - x86 lowering -*- C++ -*---===// | |
| // | |
| // The Subzero Code Generator | |
| // | |
| // This file is distributed under the University of Illinois Open Source | |
| // License. See LICENSE.TXT for details. | |
| // | |
| //===----------------------------------------------------------------------===// | |
| /// | |
| /// \file | |
| /// \brief Implements portions of the TargetLoweringX86Base class, and related | |
| /// classes. | |
| /// | |
| //===----------------------------------------------------------------------===// | |
| // Choose one namespace, since including this file should not cause the | |
| // templates to be instantiated. This avoids duplicating the PoolTypeConverter | |
| // data items, but is ugly as code common to all of x86 is including code | |
| // specific to one of 32 or 64. | |
| // TODO(jpp): replace this ugliness with the beauty of extern template. | |
| #define X86NAMESPACE X8632 | |
| #include "IceTargetLoweringX86Base.h" | |
| #undef X86NAMESPACE | |
| namespace Ice { | |
| namespace X86 { | |
| const char *PoolTypeConverter<float>::TypeName = "float"; | |
| const char *PoolTypeConverter<float>::AsmTag = ".long"; | |
| const char *PoolTypeConverter<float>::PrintfString = "0x%x"; | |
| const char *PoolTypeConverter<double>::TypeName = "double"; | |
| const char *PoolTypeConverter<double>::AsmTag = ".quad"; | |
| const char *PoolTypeConverter<double>::PrintfString = "0x%llx"; | |
| const char *PoolTypeConverter<uint32_t>::TypeName = "i32"; | |
| const char *PoolTypeConverter<uint32_t>::AsmTag = ".long"; | |
| const char *PoolTypeConverter<uint32_t>::PrintfString = "0x%x"; | |
| const char *PoolTypeConverter<uint16_t>::TypeName = "i16"; | |
| const char *PoolTypeConverter<uint16_t>::AsmTag = ".short"; | |
| const char *PoolTypeConverter<uint16_t>::PrintfString = "0x%x"; | |
| const char *PoolTypeConverter<uint8_t>::TypeName = "i8"; | |
| const char *PoolTypeConverter<uint8_t>::AsmTag = ".byte"; | |
| const char *PoolTypeConverter<uint8_t>::PrintfString = "0x%x"; | |
| } // end of namespace X86 | |
| } // end of namespace Ice |