<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style id="owaParaStyle" type="text/css">P {margin-top:0;margin-bottom:0;}</style>
</head>
<body ocsi="0" fpstyle="1">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">Mips FPU instructions have a size modifier that determines the size of the operand used. This modifier is introduced as a part of mnemonic marked with a dot character. For example,
 add.s means 32 bit FPU register addition, add.d uses 64 bit register, while add.l means that operators are fixed point registers. RegsiterOperand class is normally uset to resolve these kind of ambiguities, but currently llvm does not support dot character
 in mnemonic. This means that the add.s for example is in matcher tables treated as add which is integer addition, thus creating ambiguities when dedicated parser methods are called. In this patch we propose a solution to allow mnemonics in matcher tables to
 contain dot character. The bit field MnemonicContainsDot is added in class Instruction definition, defaulting to 0 so there is no change for targets that don't need this feature. The AsmMatcherEmitter.cpp code is modified to check for this field and allow
 matcher to emit dot as a part of mnemonic if set. The rest of the patch contains changes in Mips target definition files and MipsAsmParser.cpp which utilize this feature to parse FPU register operands.<br>
<br>
I'm looking forward to your comments and remarks.<br>
<br>
Vladimir<br>
</div>
</body>
</html>