https://gcc.gnu.org/g:d5b9d3a458a58766d03445441e3952d43824c402

commit r17-5391-gd5b9d3a458a58766d03445441e3952d43824c402
Author: Jakub Jelinek <[email protected]>
Date:   Tue Oct 20 10:13:26 2026 +0200

    i386: Fix up a typo in __enclv_generic macro in sgxintrin.h [PR128015]
    
    This macro contains an obvious typo, compared to other __en*_generic
    which contain after the asm template:
               : "=a" (retval), "=b" (b), "=c" (c), "=d" (d)\
               : "a" (leaf), "b" (b), "c" (c), "d" (d)      \
               : "cc")
    it had:
               : "=a" (retval), "=b" (b), "=c" (b), "=d" (d)\
               : "a" (leaf), "b" (b), "c" (c), "d" (d)      \
               : "cc")
    so, the value of bx and cx registers was stored into the same
    macro argument (__D[0]) instead of bx stored into __D[0] and
    cx stored into __D[1].  I've grepped around and didn't find
    similar typos elsewhere in the header and I think this is kind of
    hard to test in the testsuite in userland.
    
    Fixed the obvious way.
    
    2026-10-20  Jakub Jelinek  <[email protected]>
    
            PR target/128015
            * config/i386/sgxintrin.h (__enclv_generic): Fix a typo.

Diff:
---
 gcc/config/i386/sgxintrin.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/config/i386/sgxintrin.h b/gcc/config/i386/sgxintrin.h
index 671b6deb41fc..62dc461de724 100644
--- a/gcc/config/i386/sgxintrin.h
+++ b/gcc/config/i386/sgxintrin.h
@@ -103,7 +103,7 @@
 
 #define __enclv_generic(leaf, b, c, d, retval)         \
   __asm__ __volatile__("enclv\n\t"                     \
-          : "=a" (retval), "=b" (b), "=c" (b), "=d" (d)\
+          : "=a" (retval), "=b" (b), "=c" (c), "=d" (d)\
           : "a" (leaf), "b" (b), "c" (c), "d" (d)      \
           : "cc")

Reply via email to