Fix cmpli usage in power6 memset
Tulio Magno Quites Machado Filho
tuliom@linux.vnet.ibm.com
Tue Oct 25 15:44:00 GMT 2016
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
More information about the Libc-alpha
mailing list