nvenience.
> Best regards,
> Roger
> --
>
> > -Original Message-
> > From: Manolis Tsamis
> > Sent: 01 September 2023 11:45
> > To: Uros Bizjak
> > Cc: Roger Sayle ; gcc-patches@gcc.gnu.org
> > Subject: Re: [x86_64 PATCH] Improve __int128 arg
gnu.org
> Subject: Re: [x86_64 PATCH] Improve __int128 argument passing (in
> ix86_expand_move).
>
> Hi Roger,
>
> I've (accidentally) found a codegen regression that I bisected down to this
> patch.
> For these two functions:
>
> typedef struct {
> fl
Hi Roger,
I've (accidentally) found a codegen regression that I bisected down to
this patch.
For these two functions:
typedef struct {
float minx, miny;
float maxx, maxy;
} AABB;
int TestOverlap(AABB a, AABB b) {
return a.minx <= b.maxx
&& a.miny <= b.maxy
&& a.maxx >= b.minx
On Thu, Jul 6, 2023 at 3:48 PM Roger Sayle wrote:
>
> > On Thu, Jul 6, 2023 at 2:04 PM Roger Sayle
> > wrote:
> > >
> > >
> > > Passing 128-bit integer (TImode) parameters on x86_64 can sometimes
> > > result in surprising code. Consider the example below (from PR 43644):
> > >
> > > __uint128 f
> On Thu, Jul 6, 2023 at 2:04 PM Roger Sayle
> wrote:
> >
> >
> > Passing 128-bit integer (TImode) parameters on x86_64 can sometimes
> > result in surprising code. Consider the example below (from PR 43644):
> >
> > __uint128 foo(__uint128 x, unsigned long long y) {
> > return x+y;
> > }
> >
>
On Thu, Jul 6, 2023 at 2:04 PM Roger Sayle wrote:
>
>
> Passing 128-bit integer (TImode) parameters on x86_64 can sometimes
> result in surprising code. Consider the example below (from PR 43644):
>
> __uint128 foo(__uint128 x, unsigned long long y) {
> return x+y;
> }
>
> which currently resul
Passing 128-bit integer (TImode) parameters on x86_64 can sometimes
result in surprising code. Consider the example below (from PR 43644):
__uint128 foo(__uint128 x, unsigned long long y) {
return x+y;
}
which currently results in 6 consecutive movq instructions:
foo:movq%rsi, %rax