Tag:
Branch:
Tree:
a70edd47a2
2214
2272
2311
2357
2490
2564
2623
2661
2704
2785
2883
2924
2987
3029
3071
3112
3202
3239
3282
3359
3538
3945
chromium-2214
chromium-2272
chromium-2311
chromium-2357
chromium-2490
chromium-2564
chromium-2623
chromium-2661
chromium-2704
chromium-2883
chromium-2924
chromium-2987
chromium-3029
chromium-3071
chromium-3112
chromium-3202
chromium-3239
chromium-3282
chromium-3359
chromium-3538
chromium-3945
chromium-5359
chromium-5414
chromium-stable
chromium-stable-with-bazel
esni
fips-20180730
fips-20220613
fips-20230428
fips-20240407
fips-20240805
fips-20250107
fips-android-20191008
grpc-202302
infra/config
main
main-with-bazel
master
master-with-bazel
0.20240913.0
0.20240930.0
0.20241024.0
0.20241203.0
0.20241209.0
0.20250114.0
0.20250212.0
fips-20170615
fips-20180730
fips-20190808
fips-20210429
fips-20220613
fips-android-20191020
version_for_cocoapods_1.0
version_for_cocoapods_10.0
version_for_cocoapods_2.0
version_for_cocoapods_3.0
version_for_cocoapods_4.0
version_for_cocoapods_5.0
version_for_cocoapods_6.0
version_for_cocoapods_7.0
version_for_cocoapods_8.0
version_for_cocoapods_9.0
${ noResults }
2 Commits (a70edd47a235b9b29c950b887f51f20635252d04)
Author | SHA1 | Message | Date |
---|---|---|---|
|
1c919724d3 |
Support MOVLPS and MOVHPS in delocate.
GCC 10.2.1 seems to be emitting code like this: movq gcm_gmult_clmul@GOTPCREL(%rip), %xmm0 movhps gcm_ghash_clmul@GOTPCREL(%rip), %xmm0 movaps %xmm0, (%rsp) This is assembling a pair of function pointers in %xmm0 and writing the two out together. I've not observed the compiler output movlps, but supporting movhps and movlps are about as tricky. The main complication is that these instructions preserve the unwritten half of the destination, and they do not support register sources, only memory. This CL supports them by loading in a general-purpose register as we usually do, pushing the register on the stack, and then running the instruction on (%rsp). Some alternatives I considered: - Save/restore a temporary XMM register and then use MOVHLPS and MOVLHPS. This would work but require another saveRegister-like wrapper. - Take advantage of loadFromGOT ending in a memory mov and swap out the final instruction. This would be more efficient, but we downgrade GOT-based accesses to local symbols to a plain LEA. The compiler will only do this when we write a pair of function pointers in a row, so trying to optimize the non-local symbols seems not worth the trouble. (Really the compiler should not be emitting GOT-relative loads at all, but the compiler doesn't know these symbols will be private and in the same module, so it has a habit of pessimally using GOT-based loads.) This option seemed the simplest. Change-Id: I8c4915a6a0d72aa4c5f4d581081b99b3a6ab64c2 Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/45244 Reviewed-by: Adam Langley <agl@google.com> |
4 years ago |
|
fb0c05cac2 |
acvp: add CMAC-AES support.
Change by Dan Janni. Change-Id: I3f059e7b1a822c6f97128ca92a693499a3f7fa8f Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/41984 Commit-Queue: Adam Langley <agl@google.com> Reviewed-by: David Benjamin <davidben@google.com> |
5 years ago |