<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 size="2"><span style="font-size: 10pt;"></span></font>Rafael,<br>
<br>
<font size="2"><span style="font-size: 10pt;">We agree that testing direct object generation through llc rather than through a standalone assembler (llvm-mc/AsmParser) is more inefficient.
<br>
<br>
There are known problems with AsmParser at the moment that prevent it being built with the Mips register set.
<br>
<br>
Once we figure out the best way to fix the problem without breaking targets that currently use AsmMatcher, we will implement the stand alone assembler and change the test to run on llvm-mc instead of llc.<br>
<br>
The CHECKNEXT bug is just that and a patch is being submitted to repair it. Thanks for the catch.
<br>
<br>
Thanks,<br>
<br>
Jack<br>
</span></font><font size="2"><span style="font-size: 10pt;">________________________________________<br>
From: Rafael Espíndola [rafael.espindola@gmail.com]<br>
Sent: Thursday, March 22, 2012 10:27 AM<br>
To: Hatanaka, Akira<br>
Cc: llvm-commits@cs.uiuc.edu<br>
Subject: Re: [llvm-commits] [llvm] r153153 - in /llvm/trunk: lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp test/MC/Mips/elf-bigendian.ll<br>
<br>
> +; Check that this is big endian.<br>
> +; CHECK: ('e_indent[EI_DATA]', 0x02)<br>
> +<br>
> +; Make sure that a section table (text) entry is correct.<br>
> +; CHECK:   (('sh_name', 0x{{[0]*}}5) # '.text'<br>
> +; CHECKNEXT:   ('sh_type', 0x{{[0]*}}1)<br>
> +; CHECKNEXT:   ('sh_flags', 0x{{[0]*}}6)<br>
> +; CHECKNEXT:   ('sh_addr', 0x{{{[0-9,a-f]+}})<br>
> +; CHECKNEXT:   ('sh_offset', 0x{{{[0-9,a-f]+}})<br>
> +; CHECKNEXT:   ('sh_size', 0x{{{[0-9,a-f]+}})<br>
> +; CHECKNEXT:   ('sh_link', 0x{{[0]+}})<br>
> +; CHECKNEXT:   ('sh_info', 0x{{[0]+}})<br>
> +; CHECKNEXT:   ('sh_addralign', 0x{{[0]*}}4)<br>
> +; CHECKNEXT:   ('sh_entsize', 0x{{[0]+}})<br>
<br>
It is CHECK-NEXT<br>
<br>
> +; See that at least first 3 instructions are correct: GP prologue<br>
> +; CHECKNEXT:   ('_section_data', '3c1c0000 279c0000 0399e021 {{[0-9,a-f]*}}')<br>
<br>
You should not use a .ll file for this and assume you know which<br>
instructions are being generated. I see that MIPS is even getting<br>
support for a disassembler, you should be able to support assembling<br>
at least these 3 instructions :-)<br>
<br>
Cheers,<br>
Rafael</span></font></div>
</body>
</html>