]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
sd-id128: avoid an unnecessary function call in inline helper
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Sun, 12 Jun 2022 18:51:41 +0000 (20:51 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 29 Jun 2022 13:41:51 +0000 (15:41 +0200)
When optimizing, the compiler will most likely replace the call to memcmp(),
but at -O0, the code that is emitted builds the call preamble and does the
call. Let's use the same pattern as with sd_id128_is_null() and
sd_id128_is_allf() and avoid the call.

src/systemd/sd-id128.h

index f7d3244bb381cd89e88fec9a70d6119c47f23233..2aa41623cef05ba485b6c63c03097028a86daa4b 100644 (file)
@@ -116,7 +116,7 @@ int sd_id128_get_boot_app_specific(sd_id128_t app_id, sd_id128_t *ret);
         #a #b #c #d "-" #e #f "-" #g #h "-" #i #j "-" #k #l #m #n #o #p
 
 _sd_pure_ static __inline__ int sd_id128_equal(sd_id128_t a, sd_id128_t b) {
-        return memcmp(&a, &b, 16) == 0;
+        return a.qwords[0] == b.qwords[0] && a.qwords[1] == b.qwords[1];
 }
 
 _sd_pure_ static __inline__ int sd_id128_is_null(sd_id128_t a) {