Closed
Description
Debug build failed to compile on Apple M1 Max (arm64) with #39775. Example error messages:
FAILED: obj/deps/base64/base64/lib/arch/neon64/base64_neon64.codec.o
cc -MMD -MF obj/deps/base64/base64/lib/arch/neon64/base64_neon64.codec.o.d -DV8_DEPRECATION_WARNINGS -DV8_IMMINENT_DEPRECATION_WARNINGS -D_GLIBCXX_USE_CXX11_ABI=1 -DNODE_OPENSSL_CONF_NAME=nodejs_conf -DNODE_OPENSSL_HAS_QUIC -D_DARWIN_USE_64_BIT_INODE=1 -DOPENSSL_NO_PINSHARED -DOPENSSL_THREADS -DBASE64_STATIC_DEFINE -DHAVE_NEON64=1 -DDEBUG -D_DEBUG -DV8_ENABLE_CHECKS -I../../deps/base64/base64/include -I../../deps/base64/base64/lib -O0 -gdwarf-2 -mmacosx-version-min=10.15 -arch arm64 -Wall -Wendif-labels -W -Wno-unused-parameter -fno-strict-aliasing -c ../../deps/base64/base64/lib/arch/neon64/codec.c -o obj/deps/base64/base64/lib/arch/neon64/base64_neon64.codec.o
In file included from ../../deps/base64/base64/lib/arch/neon64/codec.c:62:
../../deps/base64/base64/lib/arch/neon64/enc_loop.c:32:44: error: registers must be sequential
"and %[t3].16b, v14.16b, %[n63].16b \n\t"
^
<inline asm>:10:40: note: instantiated into assembly here
tbl v12.16b, {v5.16b, v6.16b, v7.16b, v16.16b}, v3.16b
^
In file included from ../../deps/base64/base64/lib/arch/neon64/codec.c:62:
../../deps/base64/base64/lib/arch/neon64/enc_loop.c:32:44: error: unknown token in expression
"and %[t3].16b, v14.16b, %[n63].16b \n\t"
^
<inline asm>:10:48: note: instantiated into assembly here
tbl v12.16b, {v5.16b, v6.16b, v7.16b, v16.16b}, v3.16b
^
In file included from ../../deps/base64/base64/lib/arch/neon64/codec.c:62:
../../deps/base64/base64/lib/arch/neon64/enc_loop.c:32:44: error: invalid operand
"and %[t3].16b, v14.16b, %[n63].16b \n\t"
^
<inline asm>:10:48: note: instantiated into assembly here
tbl v12.16b, {v5.16b, v6.16b, v7.16b, v16.16b}, v3.16b
^
In file included from ../../deps/base64/base64/lib/arch/neon64/codec.c:62:
../../deps/base64/base64/lib/arch/neon64/enc_loop.c:35:75: error: registers must be sequential
"tbl v12.16b, {%[l0].16b, %[l1].16b, %[l2].16b, %[l3].16b}, %[t0].16b \n\t"
^
<inline asm>:11:40: note: instantiated into assembly here
tbl v13.16b, {v5.16b, v6.16b, v7.16b, v16.16b}, v2.16b
^
In file included from ../../deps/base64/base64/lib/arch/neon64/codec.c:62:
../../deps/base64/base64/lib/arch/neon64/enc_loop.c:35:75: error: unknown token in expression
"tbl v12.16b, {%[l0].16b, %[l1].16b, %[l2].16b, %[l3].16b}, %[t0].16b \n\t"
^
<inline asm>:11:48: note: instantiated into assembly here
tbl v13.16b, {v5.16b, v6.16b, v7.16b, v16.16b}, v2.16b
^
In file included from ../../deps/base64/base64/lib/arch/neon64/codec.c:62:
../../deps/base64/base64/lib/arch/neon64/enc_loop.c:35:75: error: invalid operand
"tbl v12.16b, {%[l0].16b, %[l1].16b, %[l2].16b, %[l3].16b}, %[t0].16b \n\t"
^
<inline asm>:11:48: note: instantiated into assembly here
tbl v13.16b, {v5.16b, v6.16b, v7.16b, v16.16b}, v2.16b
^
In file included from ../../deps/base64/base64/lib/arch/neon64/codec.c:62:
../../deps/base64/base64/lib/arch/neon64/enc_loop.c:36:75: error: registers must be sequential
"tbl v13.16b, {%[l0].16b, %[l1].16b, %[l2].16b, %[l3].16b}, %[t1].16b \n\t"
^
<inline asm>:12:40: note: instantiated into assembly here
tbl v14.16b, {v5.16b, v6.16b, v7.16b, v16.16b}, v1.16b
^
In file included from ../../deps/base64/base64/lib/arch/neon64/codec.c:62:
../../deps/base64/base64/lib/arch/neon64/enc_loop.c:36:75: error: unknown token in expression
"tbl v13.16b, {%[l0].16b, %[l1].16b, %[l2].16b, %[l3].16b}, %[t1].16b \n\t"
^
<inline asm>:12:48: note: instantiated into assembly here
tbl v14.16b, {v5.16b, v6.16b, v7.16b, v16.16b}, v1.16b
^
In file included from ../../deps/base64/base64/lib/arch/neon64/codec.c:62:
../../deps/base64/base64/lib/arch/neon64/enc_loop.c:36:75: error: invalid operand
"tbl v13.16b, {%[l0].16b, %[l1].16b, %[l2].16b, %[l3].16b}, %[t1].16b \n\t"
^
<inline asm>:12:48: note: instantiated into assembly here
tbl v14.16b, {v5.16b, v6.16b, v7.16b, v16.16b}, v1.16b
^
In file included from ../../deps/base64/base64/lib/arch/neon64/codec.c:62:
../../deps/base64/base64/lib/arch/neon64/enc_loop.c:37:75: error: registers must be sequential
"tbl v14.16b, {%[l0].16b, %[l1].16b, %[l2].16b, %[l3].16b}, %[t2].16b \n\t"
^
<inline asm>:13:40: note: instantiated into assembly here
tbl v15.16b, {v5.16b, v6.16b, v7.16b, v16.16b}, v0.16b
^
In file included from ../../deps/base64/base64/lib/arch/neon64/codec.c:62:
../../deps/base64/base64/lib/arch/neon64/enc_loop.c:37:75: error: unknown token in expression
"tbl v14.16b, {%[l0].16b, %[l1].16b, %[l2].16b, %[l3].16b}, %[t2].16b \n\t"
^
<inline asm>:13:48: note: instantiated into assembly here
tbl v15.16b, {v5.16b, v6.16b, v7.16b, v16.16b}, v0.16b
^
In file included from ../../deps/base64/base64/lib/arch/neon64/codec.c:62:
../../deps/base64/base64/lib/arch/neon64/enc_loop.c:37:75: error: invalid operand
"tbl v14.16b, {%[l0].16b, %[l1].16b, %[l2].16b, %[l3].16b}, %[t2].16b \n\t"
^
<inline asm>:13:48: note: instantiated into assembly here
tbl v15.16b, {v5.16b, v6.16b, v7.16b, v16.16b}, v0.16b
^
12 errors generated.
A clean build can reproduce the problem locally.
Originally posted by @legendecas in #39775 (comment)