diff options
author | Eric Christopher <echristo@apple.com> | 2009-08-08 21:55:08 +0000 |
---|---|---|
committer | Eric Christopher <echristo@apple.com> | 2009-08-08 21:55:08 +0000 |
commit | 7dfa9f2e563f49d8aed01bc7ae36584af97e9bdc (patch) | |
tree | 756abfe8dd1bed5f13683581425df35608d459ba /llvm/lib/Target/X86/X86CodeEmitter.cpp | |
parent | f40886accaf36a739360073366e71369fc0fb064 (diff) | |
download | bcm5719-llvm-7dfa9f2e563f49d8aed01bc7ae36584af97e9bdc.tar.gz bcm5719-llvm-7dfa9f2e563f49d8aed01bc7ae36584af97e9bdc.zip |
Add crc32 instruction and intrinsics. Add a new class of prefix
bytes for F2 0F 38 and propagate. Add a FIXME for a set
of possibilities which correspond to intrinsics already used.
New test.
llvm-svn: 78508
Diffstat (limited to 'llvm/lib/Target/X86/X86CodeEmitter.cpp')
-rw-r--r-- | llvm/lib/Target/X86/X86CodeEmitter.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86CodeEmitter.cpp b/llvm/lib/Target/X86/X86CodeEmitter.cpp index 03d871a67db..3dd3c6b519d 100644 --- a/llvm/lib/Target/X86/X86CodeEmitter.cpp +++ b/llvm/lib/Target/X86/X86CodeEmitter.cpp @@ -517,6 +517,10 @@ void Emitter<CodeEmitter>::emitInstruction( case X86II::TA: // 0F 3A Need0FPrefix = true; break; + case X86II::TF: // F2 0F 38 + MCE.emitByte(0xF2); + Need0FPrefix = true; + break; case X86II::REP: break; // already handled. case X86II::XS: // F3 0F MCE.emitByte(0xF3); @@ -548,6 +552,7 @@ void Emitter<CodeEmitter>::emitInstruction( MCE.emitByte(0x0F); switch (Desc->TSFlags & X86II::Op0Mask) { + case X86II::TF: // F2 0F 38 case X86II::T8: // 0F 38 MCE.emitByte(0x38); break; |