diff options
| author | Chris Lattner <sabre@nondot.org> | 2010-11-06 18:28:02 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2010-11-06 18:28:02 +0000 |
| commit | fab9413b017fa1a1aa875b763dcf6d7f6d3d918d (patch) | |
| tree | 39a66774d46b2f5bac13f235a8f5c91cf1a1fdb8 /llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp | |
| parent | 48e672a380ae214cae4906d33497274a239c09ab (diff) | |
| download | bcm5719-llvm-fab9413b017fa1a1aa875b763dcf6d7f6d3d918d.tar.gz bcm5719-llvm-fab9413b017fa1a1aa875b763dcf6d7f6d3d918d.zip | |
correct suffix matching to search for s/l/t suffixes on
floating point stack instructions instead of looking for b/w/l/q.
This fixes issues where we'd accidentally match fistp to fistpl,
when it is in fact an ambiguous instruction.
This changes the behavior of llvm-mc to reject fstp, which was the
correct fix for rdar://8456389:
t.s:1:1: error: ambiguous instructions require an explicit suffix (could be 'fstps', 'fstpl', or 'fstpt')
fstp (%rax)
it also causes us to correctly reject fistp and fist, which addresses
PR8528:
t.s:2:1: error: ambiguous instructions require an explicit suffix (could be 'fistps', or 'fistpl')
fistp (%rax)
^
t.s:3:1: error: ambiguous instructions require an explicit suffix (could be 'fists', or 'fistl')
fist (%rax)
^
Thanks to Ismail Donmez for tracking down the issue here!
llvm-svn: 118346
Diffstat (limited to 'llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp')
0 files changed, 0 insertions, 0 deletions

