This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH, i386]: Remove sse{,2} effective target check from compile-time tests


On Fri, Jul 23, 2010 at 8:33 AM, Uros Bizjak <ubizjak@gmail.com> wrote:
> On Fri, Jul 23, 2010 at 5:25 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
>
>>>>> a) gcc.target/i386:
>>>>>
>>>>> These tests are protected by sse{,2,...,n} and avx effective targets.
>>>>> These effective targets tests check if the whole toolchain is able to
>>>>> compile the test, but the real hardware/OS support will be checked by
>>>>> the executable itself and will terminate early on targets that can't
>>>>> execute all instructions. The benefit for this approach can be seen
>>>>> for i.e. AVX tests. Using recent enough binutils, even if the hardware
>>>>> can not support the execution, the test _can_ be compiled all the way
>>>>> to the executable, so toolchain can be tested as far as possible.
>>>>>
>>>>
>>>> If there is no hardware/OS support, do we still run those run-time tests
>>>> or just skip them?
>>>
>>> We run them.
>>>
>>
>> 2 issues if we still run those tests when there is no hardware/OS support:
>>
>> 1. Each test needs t do a run-time check. I don't see why we
>> need the new proc to check hardware/OS support.
>> 2. Passing those tests doesn't mean implementation is correct,
>> encoding could be wrong or wrong instructions could be
>> generated.
>
> These are IMO acceptable compromises with the rationale I outlined in
> my previous post. If you have better implementation, please provide
> patches, so we can discuss concrete benefits and drawbacks of your
> approach.
>

First we have to decide when there is no hardware/OS support,
do we want to run the run-time tests. If the answer is yes,
we can use my first AVX run-time check patch is at

http://gcc.gnu.org/ml/gcc-patches/2010-07/msg01791.html

and add more run-time check if needed.

If we don't want to run the run-time tests when there is
no hardware/OS support, then we should start with:

http://gcc.gnu.org/ml/gcc-patches/2010-07/msg01792.html


-- 
H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]