68a69
> StringRef CPU;
70,71c71,72
< X86AsmBackend(const Target &T)
< : MCAsmBackend() {}
---
> X86AsmBackend(const Target &T, StringRef _CPU)
> : MCAsmBackend(), CPU(_CPU) {}
307a309,315
> // This CPU doesnt support long nops. If needed add more.
> if (CPU == "geode") {
> for (uint64_t i = 0; i < Count; ++i)
> OW->Write8(0x90);
> return true;
> }
>
330,331c338,339
< ELFX86AsmBackend(const Target &T, uint8_t _OSABI)
< : X86AsmBackend(T), OSABI(_OSABI) {
---
> ELFX86AsmBackend(const Target &T, uint8_t _OSABI, StringRef CPU)
> : X86AsmBackend(T, CPU), OSABI(_OSABI) {
343,344c351,352
< ELFX86_32AsmBackend(const Target &T, uint8_t OSABI)
< : ELFX86AsmBackend(T, OSABI) {}
---
> ELFX86_32AsmBackend(const Target &T, uint8_t OSABI, StringRef CPU)
> : ELFX86AsmBackend(T, OSABI, CPU) {}
353,354c361,362
< ELFX86_64AsmBackend(const Target &T, uint8_t OSABI)
< : ELFX86AsmBackend(T, OSABI) {}
---
> ELFX86_64AsmBackend(const Target &T, uint8_t OSABI, StringRef CPU)
> : ELFX86AsmBackend(T, OSABI, CPU) {}
365,366c373,374
< WindowsX86AsmBackend(const Target &T, bool is64Bit)
< : X86AsmBackend(T)
---
> WindowsX86AsmBackend(const Target &T, bool is64Bit, StringRef CPU)
> : X86AsmBackend(T, CPU)
377,378c385,386
< DarwinX86AsmBackend(const Target &T)
< : X86AsmBackend(T) { }
---
> DarwinX86AsmBackend(const Target &T, StringRef CPU)
> : X86AsmBackend(T, CPU) { }
383,384c391,392
< DarwinX86_32AsmBackend(const Target &T)
< : DarwinX86AsmBackend(T) {}
---
> DarwinX86_32AsmBackend(const Target &T, StringRef CPU)
> : DarwinX86AsmBackend(T, CPU) {}
395,396c403,404
< DarwinX86_64AsmBackend(const Target &T)
< : DarwinX86AsmBackend(T) {
---
> DarwinX86_64AsmBackend(const Target &T, StringRef CPU)
> : DarwinX86AsmBackend(T, CPU) {
442c450
< MCAsmBackend *llvm::createX86_32AsmBackend(const Target &T, StringRef TT) {
---
> MCAsmBackend *llvm::createX86_32AsmBackend(const Target &T, StringRef TT, StringRef CPU) {
446c454
< return new DarwinX86_32AsmBackend(T);
---
> return new DarwinX86_32AsmBackend(T, CPU);
449c457
< return new WindowsX86AsmBackend(T, false);
---
> return new WindowsX86AsmBackend(T, false, CPU);
452c460
< return new ELFX86_32AsmBackend(T, OSABI);
---
> return new ELFX86_32AsmBackend(T, OSABI, CPU);
455c463
< MCAsmBackend *llvm::createX86_64AsmBackend(const Target &T, StringRef TT) {
---
> MCAsmBackend *llvm::createX86_64AsmBackend(const Target &T, StringRef TT, StringRef CPU) {
459c467
< return new DarwinX86_64AsmBackend(T);
---
> return new DarwinX86_64AsmBackend(T, CPU);
462c470
< return new WindowsX86AsmBackend(T, true);
---
> return new WindowsX86AsmBackend(T, true, CPU);
465c473
< return new ELFX86_64AsmBackend(T, OSABI);
---
> return new ELFX86_64AsmBackend(T, OSABI, CPU);
> StringRef CPU;
70,71c71,72
< X86AsmBackend(const Target &T)
< : MCAsmBackend() {}
---
> X86AsmBackend(const Target &T, StringRef _CPU)
> : MCAsmBackend(), CPU(_CPU) {}
307a309,315
> // This CPU doesnt support long nops. If needed add more.
> if (CPU == "geode") {
> for (uint64_t i = 0; i < Count; ++i)
> OW->Write8(0x90);
> return true;
> }
>
330,331c338,339
< ELFX86AsmBackend(const Target &T, uint8_t _OSABI)
< : X86AsmBackend(T), OSABI(_OSABI) {
---
> ELFX86AsmBackend(const Target &T, uint8_t _OSABI, StringRef CPU)
> : X86AsmBackend(T, CPU), OSABI(_OSABI) {
343,344c351,352
< ELFX86_32AsmBackend(const Target &T, uint8_t OSABI)
< : ELFX86AsmBackend(T, OSABI) {}
---
> ELFX86_32AsmBackend(const Target &T, uint8_t OSABI, StringRef CPU)
> : ELFX86AsmBackend(T, OSABI, CPU) {}
353,354c361,362
< ELFX86_64AsmBackend(const Target &T, uint8_t OSABI)
< : ELFX86AsmBackend(T, OSABI) {}
---
> ELFX86_64AsmBackend(const Target &T, uint8_t OSABI, StringRef CPU)
> : ELFX86AsmBackend(T, OSABI, CPU) {}
365,366c373,374
< WindowsX86AsmBackend(const Target &T, bool is64Bit)
< : X86AsmBackend(T)
---
> WindowsX86AsmBackend(const Target &T, bool is64Bit, StringRef CPU)
> : X86AsmBackend(T, CPU)
377,378c385,386
< DarwinX86AsmBackend(const Target &T)
< : X86AsmBackend(T) { }
---
> DarwinX86AsmBackend(const Target &T, StringRef CPU)
> : X86AsmBackend(T, CPU) { }
383,384c391,392
< DarwinX86_32AsmBackend(const Target &T)
< : DarwinX86AsmBackend(T) {}
---
> DarwinX86_32AsmBackend(const Target &T, StringRef CPU)
> : DarwinX86AsmBackend(T, CPU) {}
395,396c403,404
< DarwinX86_64AsmBackend(const Target &T)
< : DarwinX86AsmBackend(T) {
---
> DarwinX86_64AsmBackend(const Target &T, StringRef CPU)
> : DarwinX86AsmBackend(T, CPU) {
442c450
< MCAsmBackend *llvm::createX86_32AsmBackend(const Target &T, StringRef TT) {
---
> MCAsmBackend *llvm::createX86_32AsmBackend(const Target &T, StringRef TT, StringRef CPU) {
446c454
< return new DarwinX86_32AsmBackend(T);
---
> return new DarwinX86_32AsmBackend(T, CPU);
449c457
< return new WindowsX86AsmBackend(T, false);
---
> return new WindowsX86AsmBackend(T, false, CPU);
452c460
< return new ELFX86_32AsmBackend(T, OSABI);
---
> return new ELFX86_32AsmBackend(T, OSABI, CPU);
455c463
< MCAsmBackend *llvm::createX86_64AsmBackend(const Target &T, StringRef TT) {
---
> MCAsmBackend *llvm::createX86_64AsmBackend(const Target &T, StringRef TT, StringRef CPU) {
459c467
< return new DarwinX86_64AsmBackend(T);
---
> return new DarwinX86_64AsmBackend(T, CPU);
462c470
< return new WindowsX86AsmBackend(T, true);
---
> return new WindowsX86AsmBackend(T, true, CPU);
465c473
< return new ELFX86_64AsmBackend(T, OSABI);
---
> return new ELFX86_64AsmBackend(T, OSABI, CPU);