This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc 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: Fix cmpli usage in power6 memset


Joseph Myers <joseph@codesourcery.com> writes:

> Building glibc for powerpc64 with recent (2.27.51.20161012) binutils,
> with multi-arch enabled, I get the error:
>
> ../sysdeps/powerpc/powerpc64/power6/memset.S: Assembler messages:
> ../sysdeps/powerpc/powerpc64/power6/memset.S:254: Error: operand out of range (5 is not between 0 and 1)
> ../sysdeps/powerpc/powerpc64/power6/memset.S:254: Error: operand out of range (128 is not between 0 and 31)
> ../sysdeps/powerpc/powerpc64/power6/memset.S:254: Error: missing operand
>
> Indeed, cmpli is documented as a four-operand instruction, and looking
> at nearby code it seems likely cmpldi was intended.  This patch fixes
> this powerpc64 code accordingly, and makes a corresponding change to
> the powerpc32 code.
>
> Note: this patch is not tested beyond verifying that the powerpc64
> code builds where it failed to build before the patch.  In particular,
> I have not done execution testing

Tested on powerpc, powerpc64 and powerpc64le.
LGTM.

> (the systems I usually use for
> testing powerpc are pre-power6 so wouldn't use this code) or tested
> the powerpc32 change.

In case you want to have access to POWER8 servers, some universities provide
free access to virtual machines for the open source community:

 - MiniCloud - State University of Campinas (Unicamp), Brazil
   http://openpower.ic.unicamp.br/minicloud/

 - Open Power Hub - Brno University of Technology, Czech Republic
   http://fit-rhlab.rhcloud.com/powerlinux-openpower-development-hosting/

 - OSU Open Source Lab - Oregon State University, US
   http://osuosl.org/services/powerdev/

 - SuperVessel - IBM China
   https://ptopenlab.com/cloudlabconsole

-- 
Tulio Magno


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