On Fri, Jul 22, 2011 at 10:50:56PM +0000, Jean-Yves Migeon wrote: > Module Name: src > Committed By: jym > Date: Fri Jul 22 22:50:56 UTC 2011 > > Modified Files: > src/crypto/external/bsd/openssl/lib/libcrypto/arch/i386: aesni-586.S > aesni-x86.S > src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64: > aesni-x86_64.S > > Log Message: > Turn AES NI support code into something more readable. > > i386 and amd64 both tested with their own chroot. No regression observed.
Much better. One thing remains. It would be nice to replace .byte 0xf3,0xc3 with either a simple ret or a ret $0, depending on whether it has a label on it or not. The reason for this mess seems to be a bug in certain generation of AMD CPUs. So essentially, .Lfoo: .byte 0xf3,0xc3 should become: .Lfoo: ret $0 and all other instances can be converted to plain ret. This is a bit longer than the 0xf3,0xc3 encoding, but has the advantage of not depending on invalid instruction encodings. This is kind of cosmetical though. Joerg