<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;"><font color="black" face="Tahoma" size="2"><span style="font-size:10pt;" dir="ltr">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</span></font></div>
</body>
</html>