<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div class=""><div><blockquote type="cite" class=""><div class="">On Dec 14, 2015, at 3:59 PM, Craig Topper <<a href="mailto:craig.topper@gmail.com" class="">craig.topper@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">What about SBB?</div></div></blockquote><div><br class=""></div><div>Good point, we likely have the same problem.</div><div><br class=""></div><div>I’ve checked and it is the case.</div><div><br class=""></div><div>Fixed in <span style="font-family: Menlo; font-size: 11px;" class="">revision 255583.</span></div><div><br class=""></div><div>Good catch!</div><div><br class=""></div><div>Thanks,</div><div>Q.</div><br class=""><blockquote type="cite" class=""><div class=""><div class="gmail_extra"><br class=""><div class="gmail_quote">On Mon, Dec 14, 2015 at 3:12 PM, Quentin Colombet via llvm-commits <span dir="ltr" class=""><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank" class="">llvm-commits@lists.llvm.org</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: qcolombet<br class="">
Date: Mon Dec 14 17:12:40 2015<br class="">
New Revision: 255570<br class="">
<br class="">
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=255570&view=rev" rel="noreferrer" target="_blank" class="">http://llvm.org/viewvc/llvm-project?rev=255570&view=rev</a><br class="">
Log:<br class="">
[X86] Add relaxtion logic for ADC instructions.<br class="">
<br class="">
Prior to this patch, we would wrongly stick to the variant with imm8 encoding<br class="">
even when the relocation could not fit that size.<br class="">
<br class="">
<a href="rdar://problem/23785506" class="">rdar://problem/23785506</a><br class="">
<br class="">
Modified:<br class="">
    llvm/trunk/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp<br class="">
    llvm/trunk/test/MC/ELF/relax-arith.s<br class="">
<br class="">
Modified: llvm/trunk/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp<br class="">
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp?rev=255570&r1=255569&r2=255570&view=diff" rel="noreferrer" target="_blank" class="">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp?rev=255570&r1=255569&r2=255570&view=diff</a><br class="">
==============================================================================<br class="">
--- llvm/trunk/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp (original)<br class="">
+++ llvm/trunk/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp Mon Dec 14 17:12:40 2015<br class="">
@@ -204,6 +204,14 @@ static unsigned getRelaxedOpcodeArith(un<br class="">
   case X86::ADD64ri8: return X86::ADD64ri32;<br class="">
   case X86::ADD64mi8: return X86::ADD64mi32;<br class="">
<br class="">
+   // ADC<br class="">
+  case X86::ADC16ri8: return X86::ADC16ri;<br class="">
+  case X86::ADC16mi8: return X86::ADC16mi;<br class="">
+  case X86::ADC32ri8: return X86::ADC32ri;<br class="">
+  case X86::ADC32mi8: return X86::ADC32mi;<br class="">
+  case X86::ADC64ri8: return X86::ADC64ri32;<br class="">
+  case X86::ADC64mi8: return X86::ADC64mi32;<br class="">
+<br class="">
     // SUB<br class="">
   case X86::SUB16ri8: return X86::SUB16ri;<br class="">
   case X86::SUB16mi8: return X86::SUB16mi;<br class="">
<br class="">
Modified: llvm/trunk/test/MC/ELF/relax-arith.s<br class="">
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ELF/relax-arith.s?rev=255570&r1=255569&r2=255570&view=diff" rel="noreferrer" target="_blank" class="">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ELF/relax-arith.s?rev=255570&r1=255569&r2=255570&view=diff</a><br class="">
==============================================================================<br class="">
--- llvm/trunk/test/MC/ELF/relax-arith.s (original)<br class="">
+++ llvm/trunk/test/MC/ELF/relax-arith.s Mon Dec 14 17:12:40 2015<br class="">
@@ -123,3 +123,19 @@ bar:<br class="">
         .section push,"x"<br class="">
         pushw $foo<br class="">
         push  $foo<br class="">
+<br class="">
+// CHECK:      Disassembly of section adc:<br class="">
+// CHECK-NEXT: adc:<br class="">
+// CHECK-NEXT:   0: 66 81 d3 00 00                       adcw $0, %bx<br class="">
+// CHECK-NEXT:   5: 66 81 14 25 00 00 00 00 00 00        adcw $0, 0<br class="">
+// CHECK-NEXT:   f: 81 d3 00 00 00 00                    adcl $0, %ebx<br class="">
+// CHECK-NEXT:  15: 81 14 25 00 00 00 00 00 00 00 00     adcl $0, 0<br class="">
+// CHECK-NEXT:  20: 48 81 d3 00 00 00 00                 adcq $0, %rbx<br class="">
+// CHECK-NEXT:  27: 48 81 14 25 00 00 00 00 00 00 00 00  adcq $0, 0<br class="">
+        .section adc,"x"<br class="">
+        adc  $foo, %bx<br class="">
+        adcw $foo, bar<br class="">
+        adc  $foo, %ebx<br class="">
+        adcl $foo, bar<br class="">
+        adc  $foo, %rbx<br class="">
+        adcq $foo, bar<br class="">
<br class="">
<br class="">
_______________________________________________<br class="">
llvm-commits mailing list<br class="">
<a href="mailto:llvm-commits@lists.llvm.org" class="">llvm-commits@lists.llvm.org</a><br class="">
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank" class="">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br class="">
</blockquote></div><br class=""><br clear="all" class=""><div class=""><br class=""></div>-- <br class=""><div class="gmail_signature">~Craig</div>
</div>
</div></blockquote></div><br class=""></div></body></html>