[th/gcc] wrong-code!

Paweł Sikora pluto w agmk.net
Czw, 6 Maj 2010, 14:22:58 CEST


Dnia 06-05-2010 o 12:29:52 Jan Rękorajski <baggins w sith.mimuw.edu.pl>  
napisał(a):

> On Thu, 06 May 2010, Jan Rękorajski wrote:
>
>>
>> http://buildlogs.pld-linux.org/index.php?dist=th&arch=i686&ok=0&name=avidemux&id=dc6daa61-d81e-49ed-b0e5-15671f63197c
>>
>> Jeszcze sprawdzę binutils i dam znać.
>
> Sprawdzone, upgrade binutils z 2.20.51.0.4-1 do 2.20.51.0.8-1 (to co
> jest na ftp th) nic nie psuje. Więc to gcc jest walnięte.

dziwny jest ten kod w avidemux. sporny fragment na ktory zbuntowal
sie assembler, to bzdurne 'movq %ebx, %mm6', ktore powstalo z:

__asm__ __volatile__ ("movq %0, %%mm6" : : "X" (_mmTHRESH2) );

co to jest za constrain "duze X" ? w config/i386/constraints.md
jest tylko "male X" i odnosi sie do rejestrow SSE. przy "m"
to sie ladnie zamieni na movq m->r, ale w takiej formie, to nie wiem,
co autor mial na mysli piszac taka wstawke. jednakoz gcc zrobilo
z tego sieczke.


Więcej informacji o liście dyskusyjnej pld-devel-pl