Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] NDK r23 armeabi-v7a libs should not use registers d16 to d31 #1672

Closed
truboxl opened this issue Feb 19, 2022 · 7 comments
Closed

[BUG] NDK r23 armeabi-v7a libs should not use registers d16 to d31 #1672

truboxl opened this issue Feb 19, 2022 · 7 comments
Labels

Comments

@truboxl
Copy link

truboxl commented Feb 19, 2022

Description

Since NDK r23 will be the last to support -mfpu=vfpv3-d16, hopefully this can be fixed so that no more Illegal instruction errors.

cd android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/arm-linux-androideabi/
find . -type f -exec echo "{}" \; -a -exec ../../../../bin/llvm-objdump -d "{}" \; >objdump.txt 2>/dev/null
for register in {16..31}; do grep "d${register}," -n objdump.txt; done | sort -nk1 | uniq
89575:     1c4: 0d 02 61 f4  	vld1.8	{d16, d17, d18, d19}, [r1]!
89576:     1c8: 0d 42 61 f4  	vld1.8	{d20, d21, d22, d23}, [r1]!
89579:     1d4: 3d 02 40 f4  	vst1.8	{d16, d17, d18, d19}, [r0:256]!
89580:     1d8: 3d 42 40 f4  	vst1.8	{d20, d21, d22, d23}, [r0:256]!
92346:     102: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
92347:     106: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
92349:     10e: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
92350:     112: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
92359:     12c: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
92360:     130: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
92635:      48: 8d 02 61 f4  	vld1.32	{d16, d17, d18, d19}, [r1]!
92636:      4c: 8d 42 61 f4  	vld1.32	{d20, d21, d22, d23}, [r1]!
92640:      5c: 8d 02 40 f4  	vst1.32	{d16, d17, d18, d19}, [r0]!
92641:      60: 8d 42 40 f4  	vst1.32	{d20, d21, d22, d23}, [r0]!
92646:      74: 8d 02 61 f4  	vld1.32	{d16, d17, d18, d19}, [r1]!
92647:      78: 8d 42 61 f4  	vld1.32	{d20, d21, d22, d23}, [r1]!
92651:      88: 8d 02 40 f4  	vst1.32	{d16, d17, d18, d19}, [r0]!
92652:      8c: 8d 42 40 f4  	vst1.32	{d20, d21, d22, d23}, [r0]!
92668:      cc: 8d 0a 61 f4  	vld1.32	{d16, d17}, [r1]!
92669:      d0: 8d 0a 40 f4  	vst1.32	{d16, d17}, [r0]!
151954:     1f8: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
151955:     1fc: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
151957:     204: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
151958:     208: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
151967:     222: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
151968:     226: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
152139:     1e0: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
152140:     1e4: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
152142:     1ec: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
152143:     1f0: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
152152:     20a: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
152153:     20e: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
360303:     1c4: 0d 02 61 f4  	vld1.8	{d16, d17, d18, d19}, [r1]!
360304:     1c8: 0d 42 61 f4  	vld1.8	{d20, d21, d22, d23}, [r1]!
360307:     1d4: 3d 02 40 f4  	vst1.8	{d16, d17, d18, d19}, [r0:256]!
360308:     1d8: 3d 42 40 f4  	vst1.8	{d20, d21, d22, d23}, [r0:256]!
363074:     102: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
363075:     106: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
363077:     10e: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
363078:     112: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
363087:     12c: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
363088:     130: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
363363:      48: 8d 02 61 f4  	vld1.32	{d16, d17, d18, d19}, [r1]!
363364:      4c: 8d 42 61 f4  	vld1.32	{d20, d21, d22, d23}, [r1]!
363368:      5c: 8d 02 40 f4  	vst1.32	{d16, d17, d18, d19}, [r0]!
363369:      60: 8d 42 40 f4  	vst1.32	{d20, d21, d22, d23}, [r0]!
363374:      74: 8d 02 61 f4  	vld1.32	{d16, d17, d18, d19}, [r1]!
363375:      78: 8d 42 61 f4  	vld1.32	{d20, d21, d22, d23}, [r1]!
363379:      88: 8d 02 40 f4  	vst1.32	{d16, d17, d18, d19}, [r0]!
363380:      8c: 8d 42 40 f4  	vst1.32	{d20, d21, d22, d23}, [r0]!
363396:      cc: 8d 0a 61 f4  	vld1.32	{d16, d17}, [r1]!
363397:      d0: 8d 0a 40 f4  	vst1.32	{d16, d17}, [r0]!
422682:     1f8: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
422683:     1fc: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
422685:     204: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
422686:     208: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
422695:     222: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
422696:     226: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
422867:     1e0: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
422868:     1e4: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
422870:     1ec: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
422871:     1f0: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
422880:     20a: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
422881:     20e: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
633500:     1c4: 0d 02 61 f4  	vld1.8	{d16, d17, d18, d19}, [r1]!
633501:     1c8: 0d 42 61 f4  	vld1.8	{d20, d21, d22, d23}, [r1]!
633504:     1d4: 3d 02 40 f4  	vst1.8	{d16, d17, d18, d19}, [r0:256]!
633505:     1d8: 3d 42 40 f4  	vst1.8	{d20, d21, d22, d23}, [r0:256]!
636271:     102: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
636272:     106: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
636274:     10e: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
636275:     112: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
636284:     12c: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
636285:     130: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
636560:      48: 8d 02 61 f4  	vld1.32	{d16, d17, d18, d19}, [r1]!
636561:      4c: 8d 42 61 f4  	vld1.32	{d20, d21, d22, d23}, [r1]!
636565:      5c: 8d 02 40 f4  	vst1.32	{d16, d17, d18, d19}, [r0]!
636566:      60: 8d 42 40 f4  	vst1.32	{d20, d21, d22, d23}, [r0]!
636571:      74: 8d 02 61 f4  	vld1.32	{d16, d17, d18, d19}, [r1]!
636572:      78: 8d 42 61 f4  	vld1.32	{d20, d21, d22, d23}, [r1]!
636576:      88: 8d 02 40 f4  	vst1.32	{d16, d17, d18, d19}, [r0]!
636577:      8c: 8d 42 40 f4  	vst1.32	{d20, d21, d22, d23}, [r0]!
636593:      cc: 8d 0a 61 f4  	vld1.32	{d16, d17}, [r1]!
636594:      d0: 8d 0a 40 f4  	vst1.32	{d16, d17}, [r0]!
695879:     1f8: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
695880:     1fc: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
695882:     204: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
695883:     208: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
695892:     222: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
695893:     226: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
696064:     1e0: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
696065:     1e4: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
696067:     1ec: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
696068:     1f0: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
696077:     20a: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
696078:     20e: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
907532:     1c4: 0d 02 61 f4  	vld1.8	{d16, d17, d18, d19}, [r1]!
907533:     1c8: 0d 42 61 f4  	vld1.8	{d20, d21, d22, d23}, [r1]!
907536:     1d4: 3d 02 40 f4  	vst1.8	{d16, d17, d18, d19}, [r0:256]!
907537:     1d8: 3d 42 40 f4  	vst1.8	{d20, d21, d22, d23}, [r0:256]!
910303:     102: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
910304:     106: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
910306:     10e: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
910307:     112: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
910316:     12c: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
910317:     130: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
910592:      48: 8d 02 61 f4  	vld1.32	{d16, d17, d18, d19}, [r1]!
910593:      4c: 8d 42 61 f4  	vld1.32	{d20, d21, d22, d23}, [r1]!
910597:      5c: 8d 02 40 f4  	vst1.32	{d16, d17, d18, d19}, [r0]!
910598:      60: 8d 42 40 f4  	vst1.32	{d20, d21, d22, d23}, [r0]!
910603:      74: 8d 02 61 f4  	vld1.32	{d16, d17, d18, d19}, [r1]!
910604:      78: 8d 42 61 f4  	vld1.32	{d20, d21, d22, d23}, [r1]!
910608:      88: 8d 02 40 f4  	vst1.32	{d16, d17, d18, d19}, [r0]!
910609:      8c: 8d 42 40 f4  	vst1.32	{d20, d21, d22, d23}, [r0]!
910625:      cc: 8d 0a 61 f4  	vld1.32	{d16, d17}, [r1]!
910626:      d0: 8d 0a 40 f4  	vst1.32	{d16, d17}, [r0]!
969911:     1f8: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
969912:     1fc: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
969914:     204: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
969915:     208: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
969924:     222: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
969925:     226: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
970096:     1e0: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
970097:     1e4: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
970099:     1ec: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
970100:     1f0: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
970109:     20a: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
970110:     20e: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
1194682:     1c4: 0d 02 61 f4  	vld1.8	{d16, d17, d18, d19}, [r1]!
1194683:     1c8: 0d 42 61 f4  	vld1.8	{d20, d21, d22, d23}, [r1]!
1194686:     1d4: 3d 02 40 f4  	vst1.8	{d16, d17, d18, d19}, [r0:256]!
1194687:     1d8: 3d 42 40 f4  	vst1.8	{d20, d21, d22, d23}, [r0:256]!
1197453:     102: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
1197454:     106: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
1197456:     10e: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
1197457:     112: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
1197466:     12c: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
1197467:     130: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
1197742:      48: 8d 02 61 f4  	vld1.32	{d16, d17, d18, d19}, [r1]!
1197743:      4c: 8d 42 61 f4  	vld1.32	{d20, d21, d22, d23}, [r1]!
1197747:      5c: 8d 02 40 f4  	vst1.32	{d16, d17, d18, d19}, [r0]!
1197748:      60: 8d 42 40 f4  	vst1.32	{d20, d21, d22, d23}, [r0]!
1197753:      74: 8d 02 61 f4  	vld1.32	{d16, d17, d18, d19}, [r1]!
1197754:      78: 8d 42 61 f4  	vld1.32	{d20, d21, d22, d23}, [r1]!
1197758:      88: 8d 02 40 f4  	vst1.32	{d16, d17, d18, d19}, [r0]!
1197759:      8c: 8d 42 40 f4  	vst1.32	{d20, d21, d22, d23}, [r0]!
1197775:      cc: 8d 0a 61 f4  	vld1.32	{d16, d17}, [r1]!
1197776:      d0: 8d 0a 40 f4  	vst1.32	{d16, d17}, [r0]!
1257061:     1f8: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
1257062:     1fc: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
1257064:     204: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
1257065:     208: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
1257074:     222: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
1257075:     226: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
1257246:     1e0: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
1257247:     1e4: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
1257249:     1ec: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
1257250:     1f0: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
1257259:     20a: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
1257260:     20e: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
1511244:     1c4: 0d 02 61 f4  	vld1.8	{d16, d17, d18, d19}, [r1]!
1511245:     1c8: 0d 42 61 f4  	vld1.8	{d20, d21, d22, d23}, [r1]!
1511248:     1d4: 3d 02 40 f4  	vst1.8	{d16, d17, d18, d19}, [r0:256]!
1511249:     1d8: 3d 42 40 f4  	vst1.8	{d20, d21, d22, d23}, [r0:256]!
1514015:     102: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
1514016:     106: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
1514018:     10e: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
1514019:     112: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
1514028:     12c: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
1514029:     130: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
1514304:      48: 8d 02 61 f4  	vld1.32	{d16, d17, d18, d19}, [r1]!
1514305:      4c: 8d 42 61 f4  	vld1.32	{d20, d21, d22, d23}, [r1]!
1514309:      5c: 8d 02 40 f4  	vst1.32	{d16, d17, d18, d19}, [r0]!
1514310:      60: 8d 42 40 f4  	vst1.32	{d20, d21, d22, d23}, [r0]!
1514315:      74: 8d 02 61 f4  	vld1.32	{d16, d17, d18, d19}, [r1]!
1514316:      78: 8d 42 61 f4  	vld1.32	{d20, d21, d22, d23}, [r1]!
1514320:      88: 8d 02 40 f4  	vst1.32	{d16, d17, d18, d19}, [r0]!
1514321:      8c: 8d 42 40 f4  	vst1.32	{d20, d21, d22, d23}, [r0]!
1514337:      cc: 8d 0a 61 f4  	vld1.32	{d16, d17}, [r1]!
1514338:      d0: 8d 0a 40 f4  	vst1.32	{d16, d17}, [r0]!
1573623:     1f8: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
1573624:     1fc: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
1573626:     204: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
1573627:     208: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
1573636:     222: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
1573637:     226: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
1573808:     1e0: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
1573809:     1e4: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
1573811:     1ec: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
1573812:     1f0: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
1573821:     20a: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
1573822:     20e: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
1792608:     1c4: 0d 02 61 f4  	vld1.8	{d16, d17, d18, d19}, [r1]!
1792609:     1c8: 0d 42 61 f4  	vld1.8	{d20, d21, d22, d23}, [r1]!
1792612:     1d4: 3d 02 40 f4  	vst1.8	{d16, d17, d18, d19}, [r0:256]!
1792613:     1d8: 3d 42 40 f4  	vst1.8	{d20, d21, d22, d23}, [r0:256]!
1795379:     102: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
1795380:     106: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
1795382:     10e: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
1795383:     112: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
1795392:     12c: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
1795393:     130: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
1795668:      48: 8d 02 61 f4  	vld1.32	{d16, d17, d18, d19}, [r1]!
1795669:      4c: 8d 42 61 f4  	vld1.32	{d20, d21, d22, d23}, [r1]!
1795673:      5c: 8d 02 40 f4  	vst1.32	{d16, d17, d18, d19}, [r0]!
1795674:      60: 8d 42 40 f4  	vst1.32	{d20, d21, d22, d23}, [r0]!
1795679:      74: 8d 02 61 f4  	vld1.32	{d16, d17, d18, d19}, [r1]!
1795680:      78: 8d 42 61 f4  	vld1.32	{d20, d21, d22, d23}, [r1]!
1795684:      88: 8d 02 40 f4  	vst1.32	{d16, d17, d18, d19}, [r0]!
1795685:      8c: 8d 42 40 f4  	vst1.32	{d20, d21, d22, d23}, [r0]!
1795701:      cc: 8d 0a 61 f4  	vld1.32	{d16, d17}, [r1]!
1795702:      d0: 8d 0a 40 f4  	vst1.32	{d16, d17}, [r0]!
1854987:     1f8: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
1854988:     1fc: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
1854990:     204: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
1854991:     208: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
1855000:     222: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
1855001:     226: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
1855172:     1e0: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
1855173:     1e4: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
1855175:     1ec: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
1855176:     1f0: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
1855185:     20a: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
1855186:     20e: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
2091796:     1c4: 0d 02 61 f4  	vld1.8	{d16, d17, d18, d19}, [r1]!
2091797:     1c8: 0d 42 61 f4  	vld1.8	{d20, d21, d22, d23}, [r1]!
2091800:     1d4: 3d 02 40 f4  	vst1.8	{d16, d17, d18, d19}, [r0:256]!
2091801:     1d8: 3d 42 40 f4  	vst1.8	{d20, d21, d22, d23}, [r0:256]!
2094567:     102: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
2094568:     106: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
2094570:     10e: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
2094571:     112: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
2094580:     12c: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
2094581:     130: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
2094856:      48: 8d 02 61 f4  	vld1.32	{d16, d17, d18, d19}, [r1]!
2094857:      4c: 8d 42 61 f4  	vld1.32	{d20, d21, d22, d23}, [r1]!
2094861:      5c: 8d 02 40 f4  	vst1.32	{d16, d17, d18, d19}, [r0]!
2094862:      60: 8d 42 40 f4  	vst1.32	{d20, d21, d22, d23}, [r0]!
2094867:      74: 8d 02 61 f4  	vld1.32	{d16, d17, d18, d19}, [r1]!
2094868:      78: 8d 42 61 f4  	vld1.32	{d20, d21, d22, d23}, [r1]!
2094872:      88: 8d 02 40 f4  	vst1.32	{d16, d17, d18, d19}, [r0]!
2094873:      8c: 8d 42 40 f4  	vst1.32	{d20, d21, d22, d23}, [r0]!
2094889:      cc: 8d 0a 61 f4  	vld1.32	{d16, d17}, [r1]!
2094890:      d0: 8d 0a 40 f4  	vst1.32	{d16, d17}, [r0]!
2154175:     1f8: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
2154176:     1fc: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
2154178:     204: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
2154179:     208: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
2154188:     222: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
2154189:     226: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
2154360:     1e0: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
2154361:     1e4: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
2154363:     1ec: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
2154364:     1f0: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
2154373:     20a: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
2154374:     20e: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
2368461:     1c4: 0d 02 61 f4  	vld1.8	{d16, d17, d18, d19}, [r1]!
2368462:     1c8: 0d 42 61 f4  	vld1.8	{d20, d21, d22, d23}, [r1]!
2368465:     1d4: 3d 02 40 f4  	vst1.8	{d16, d17, d18, d19}, [r0:256]!
2368466:     1d8: 3d 42 40 f4  	vst1.8	{d20, d21, d22, d23}, [r0:256]!
2371232:     102: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
2371233:     106: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
2371235:     10e: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
2371236:     112: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
2371245:     12c: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
2371246:     130: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
2371521:      48: 8d 02 61 f4  	vld1.32	{d16, d17, d18, d19}, [r1]!
2371522:      4c: 8d 42 61 f4  	vld1.32	{d20, d21, d22, d23}, [r1]!
2371526:      5c: 8d 02 40 f4  	vst1.32	{d16, d17, d18, d19}, [r0]!
2371527:      60: 8d 42 40 f4  	vst1.32	{d20, d21, d22, d23}, [r0]!
2371532:      74: 8d 02 61 f4  	vld1.32	{d16, d17, d18, d19}, [r1]!
2371533:      78: 8d 42 61 f4  	vld1.32	{d20, d21, d22, d23}, [r1]!
2371537:      88: 8d 02 40 f4  	vst1.32	{d16, d17, d18, d19}, [r0]!
2371538:      8c: 8d 42 40 f4  	vst1.32	{d20, d21, d22, d23}, [r0]!
2371554:      cc: 8d 0a 61 f4  	vld1.32	{d16, d17}, [r1]!
2371555:      d0: 8d 0a 40 f4  	vst1.32	{d16, d17}, [r0]!
2430840:     1f8: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
2430841:     1fc: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
2430843:     204: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
2430844:     208: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
2430853:     222: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
2430854:     226: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
2431025:     1e0: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
2431026:     1e4: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
2431028:     1ec: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
2431029:     1f0: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
2431038:     20a: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
2431039:     20e: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
2641965:     1c4: 0d 02 61 f4  	vld1.8	{d16, d17, d18, d19}, [r1]!
2641966:     1c8: 0d 42 61 f4  	vld1.8	{d20, d21, d22, d23}, [r1]!
2641969:     1d4: 3d 02 40 f4  	vst1.8	{d16, d17, d18, d19}, [r0:256]!
2641970:     1d8: 3d 42 40 f4  	vst1.8	{d20, d21, d22, d23}, [r0:256]!
2644736:     102: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
2644737:     106: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
2644739:     10e: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
2644740:     112: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
2644749:     12c: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
2644750:     130: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
2645025:      48: 8d 02 61 f4  	vld1.32	{d16, d17, d18, d19}, [r1]!
2645026:      4c: 8d 42 61 f4  	vld1.32	{d20, d21, d22, d23}, [r1]!
2645030:      5c: 8d 02 40 f4  	vst1.32	{d16, d17, d18, d19}, [r0]!
2645031:      60: 8d 42 40 f4  	vst1.32	{d20, d21, d22, d23}, [r0]!
2645036:      74: 8d 02 61 f4  	vld1.32	{d16, d17, d18, d19}, [r1]!
2645037:      78: 8d 42 61 f4  	vld1.32	{d20, d21, d22, d23}, [r1]!
2645041:      88: 8d 02 40 f4  	vst1.32	{d16, d17, d18, d19}, [r0]!
2645042:      8c: 8d 42 40 f4  	vst1.32	{d20, d21, d22, d23}, [r0]!
2645058:      cc: 8d 0a 61 f4  	vld1.32	{d16, d17}, [r1]!
2645059:      d0: 8d 0a 40 f4  	vst1.32	{d16, d17}, [r0]!
2704344:     1f8: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
2704345:     1fc: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
2704347:     204: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
2704348:     208: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
2704357:     222: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
2704358:     226: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
2704529:     1e0: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
2704530:     1e4: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
2704532:     1ec: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
2704533:     1f0: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
2704542:     20a: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
2704543:     20e: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
2931792:     1c4: 0d 02 61 f4  	vld1.8	{d16, d17, d18, d19}, [r1]!
2931793:     1c8: 0d 42 61 f4  	vld1.8	{d20, d21, d22, d23}, [r1]!
2931796:     1d4: 3d 02 40 f4  	vst1.8	{d16, d17, d18, d19}, [r0:256]!
2931797:     1d8: 3d 42 40 f4  	vst1.8	{d20, d21, d22, d23}, [r0:256]!
2934563:     102: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
2934564:     106: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
2934566:     10e: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
2934567:     112: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
2934576:     12c: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
2934577:     130: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
2934852:      48: 8d 02 61 f4  	vld1.32	{d16, d17, d18, d19}, [r1]!
2934853:      4c: 8d 42 61 f4  	vld1.32	{d20, d21, d22, d23}, [r1]!
2934857:      5c: 8d 02 40 f4  	vst1.32	{d16, d17, d18, d19}, [r0]!
2934858:      60: 8d 42 40 f4  	vst1.32	{d20, d21, d22, d23}, [r0]!
2934863:      74: 8d 02 61 f4  	vld1.32	{d16, d17, d18, d19}, [r1]!
2934864:      78: 8d 42 61 f4  	vld1.32	{d20, d21, d22, d23}, [r1]!
2934868:      88: 8d 02 40 f4  	vst1.32	{d16, d17, d18, d19}, [r0]!
2934869:      8c: 8d 42 40 f4  	vst1.32	{d20, d21, d22, d23}, [r0]!
2934885:      cc: 8d 0a 61 f4  	vld1.32	{d16, d17}, [r1]!
2934886:      d0: 8d 0a 40 f4  	vst1.32	{d16, d17}, [r0]!
2994171:     1f8: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
2994172:     1fc: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
2994174:     204: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
2994175:     208: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
2994184:     222: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
2994185:     226: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
2994356:     1e0: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
2994357:     1e4: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
2994359:     1ec: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
2994360:     1f0: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
2994369:     20a: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
2994370:     20e: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
3209328:     1c4: 0d 02 61 f4  	vld1.8	{d16, d17, d18, d19}, [r1]!
3209329:     1c8: 0d 42 61 f4  	vld1.8	{d20, d21, d22, d23}, [r1]!
3209332:     1d4: 3d 02 40 f4  	vst1.8	{d16, d17, d18, d19}, [r0:256]!
3209333:     1d8: 3d 42 40 f4  	vst1.8	{d20, d21, d22, d23}, [r0:256]!
3212099:     102: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
3212100:     106: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
3212102:     10e: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
3212103:     112: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
3212112:     12c: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
3212113:     130: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
3212388:      48: 8d 02 61 f4  	vld1.32	{d16, d17, d18, d19}, [r1]!
3212389:      4c: 8d 42 61 f4  	vld1.32	{d20, d21, d22, d23}, [r1]!
3212393:      5c: 8d 02 40 f4  	vst1.32	{d16, d17, d18, d19}, [r0]!
3212394:      60: 8d 42 40 f4  	vst1.32	{d20, d21, d22, d23}, [r0]!
3212399:      74: 8d 02 61 f4  	vld1.32	{d16, d17, d18, d19}, [r1]!
3212400:      78: 8d 42 61 f4  	vld1.32	{d20, d21, d22, d23}, [r1]!
3212404:      88: 8d 02 40 f4  	vst1.32	{d16, d17, d18, d19}, [r0]!
3212405:      8c: 8d 42 40 f4  	vst1.32	{d20, d21, d22, d23}, [r0]!
3212421:      cc: 8d 0a 61 f4  	vld1.32	{d16, d17}, [r1]!
3212422:      d0: 8d 0a 40 f4  	vst1.32	{d16, d17}, [r0]!
3271707:     1f8: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
3271708:     1fc: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
3271710:     204: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
3271711:     208: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
3271720:     222: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
3271721:     226: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
3271892:     1e0: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
3271893:     1e4: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
3271895:     1ec: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
3271896:     1f0: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
3271905:     20a: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
3271906:     20e: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
3485157:     1c4: 0d 02 61 f4  	vld1.8	{d16, d17, d18, d19}, [r1]!
3485158:     1c8: 0d 42 61 f4  	vld1.8	{d20, d21, d22, d23}, [r1]!
3485161:     1d4: 3d 02 40 f4  	vst1.8	{d16, d17, d18, d19}, [r0:256]!
3485162:     1d8: 3d 42 40 f4  	vst1.8	{d20, d21, d22, d23}, [r0:256]!
3487928:     102: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
3487929:     106: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
3487931:     10e: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
3487932:     112: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
3487941:     12c: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
3487942:     130: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
3488217:      48: 8d 02 61 f4  	vld1.32	{d16, d17, d18, d19}, [r1]!
3488218:      4c: 8d 42 61 f4  	vld1.32	{d20, d21, d22, d23}, [r1]!
3488222:      5c: 8d 02 40 f4  	vst1.32	{d16, d17, d18, d19}, [r0]!
3488223:      60: 8d 42 40 f4  	vst1.32	{d20, d21, d22, d23}, [r0]!
3488228:      74: 8d 02 61 f4  	vld1.32	{d16, d17, d18, d19}, [r1]!
3488229:      78: 8d 42 61 f4  	vld1.32	{d20, d21, d22, d23}, [r1]!
3488233:      88: 8d 02 40 f4  	vst1.32	{d16, d17, d18, d19}, [r0]!
3488234:      8c: 8d 42 40 f4  	vst1.32	{d20, d21, d22, d23}, [r0]!
3488250:      cc: 8d 0a 61 f4  	vld1.32	{d16, d17}, [r1]!
3488251:      d0: 8d 0a 40 f4  	vst1.32	{d16, d17}, [r0]!
3547536:     1f8: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
3547537:     1fc: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
3547539:     204: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
3547540:     208: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
3547549:     222: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
3547550:     226: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
3547721:     1e0: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
3547722:     1e4: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
3547724:     1ec: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
3547725:     1f0: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
3547734:     20a: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
3547735:     20e: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
3758277:     1c4: 0d 02 61 f4  	vld1.8	{d16, d17, d18, d19}, [r1]!
3758278:     1c8: 0d 42 61 f4  	vld1.8	{d20, d21, d22, d23}, [r1]!
3758281:     1d4: 3d 02 40 f4  	vst1.8	{d16, d17, d18, d19}, [r0:256]!
3758282:     1d8: 3d 42 40 f4  	vst1.8	{d20, d21, d22, d23}, [r0:256]!
3761048:     102: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
3761049:     106: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
3761051:     10e: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
3761052:     112: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
3761061:     12c: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
3761062:     130: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
3761337:      48: 8d 02 61 f4  	vld1.32	{d16, d17, d18, d19}, [r1]!
3761338:      4c: 8d 42 61 f4  	vld1.32	{d20, d21, d22, d23}, [r1]!
3761342:      5c: 8d 02 40 f4  	vst1.32	{d16, d17, d18, d19}, [r0]!
3761343:      60: 8d 42 40 f4  	vst1.32	{d20, d21, d22, d23}, [r0]!
3761348:      74: 8d 02 61 f4  	vld1.32	{d16, d17, d18, d19}, [r1]!
3761349:      78: 8d 42 61 f4  	vld1.32	{d20, d21, d22, d23}, [r1]!
3761353:      88: 8d 02 40 f4  	vst1.32	{d16, d17, d18, d19}, [r0]!
3761354:      8c: 8d 42 40 f4  	vst1.32	{d20, d21, d22, d23}, [r0]!
3761370:      cc: 8d 0a 61 f4  	vld1.32	{d16, d17}, [r1]!
3761371:      d0: 8d 0a 40 f4  	vst1.32	{d16, d17}, [r0]!
3820656:     1f8: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
3820657:     1fc: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
3820659:     204: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
3820660:     208: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
3820669:     222: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
3820670:     226: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
3820841:     1e0: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
3820842:     1e4: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
3820844:     1ec: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
3820845:     1f0: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
3820854:     20a: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
3820855:     20e: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
4041011:   89a3c: 00 0a 62 f4  	vld1.8	{d16, d17}, [r2], r0
4041013:   89a44: 0f 2a 60 f4  	vld1.8	{d18, d19}, [r0]
4041016:   89a50: 0f 4a 60 f4  	vld1.8	{d20, d21}, [r0]
4041018:   89a58: 0f 6a 62 f4  	vld1.8	{d22, d23}, [r2]
4041019:   89a5c: 0f 0a 40 f4  	vst1.8	{d16, d17}, [r0]
4041021:   89a64: 0f 2a 40 f4  	vst1.8	{d18, d19}, [r0]
4041023:   89a6c: 0f 4a 40 f4  	vst1.8	{d20, d21}, [r0]
4041025:   89a74: 0f 6a 40 f4  	vst1.8	{d22, d23}, [r0]
4041591:   8a254: 8f 0a 40 f4  	vst1.32	{d16, d17}, [r0]
4041594:   8a260: 82 0a 41 f4  	vst1.32	{d16, d17}, [r1], r2
4041598:   8a270: 5e 2b d0 ed  	vldr	d18, [r0, #376]
4041600:   8a278: 8f 0a 62 f4  	vld1.32	{d16, d17}, [r2]
4041601:   8a27c: 8f 4a 60 f4  	vld1.32	{d20, d21}, [r0]
4041603:   8a284: 8f 4a 40 f4  	vst1.32	{d20, d21}, [r0]
4041605:   8a28c: 80 0a 41 f4  	vst1.32	{d16, d17}, [r1], r0
4041606:   8a290: 00 2b c1 ed  	vstr	d18, [r1]
4042483:   8afc4: 20 0b d0 ec  	vldmia	r0, {d16, d17, d18, d19, d20, d21, d22, d23, d24, d25, d26, d27, d28, d29, d30, d31}
4042503:   8aff4: 20 0b c0 ec  	vstmia	r0, {d16, d17, d18, d19, d20, d21, d22, d23, d24, d25, d26, d27, d28, d29, d30, d31}
4140765:     1c4: 0d 02 61 f4  	vld1.8	{d16, d17, d18, d19}, [r1]!
4140766:     1c8: 0d 42 61 f4  	vld1.8	{d20, d21, d22, d23}, [r1]!
4140769:     1d4: 3d 02 40 f4  	vst1.8	{d16, d17, d18, d19}, [r0:256]!
4140770:     1d8: 3d 42 40 f4  	vst1.8	{d20, d21, d22, d23}, [r0:256]!
4143536:     102: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
4143537:     106: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
4143539:     10e: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
4143540:     112: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
4143549:     12c: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
4143550:     130: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
4143825:      48: 8d 02 61 f4  	vld1.32	{d16, d17, d18, d19}, [r1]!
4143826:      4c: 8d 42 61 f4  	vld1.32	{d20, d21, d22, d23}, [r1]!
4143830:      5c: 8d 02 40 f4  	vst1.32	{d16, d17, d18, d19}, [r0]!
4143831:      60: 8d 42 40 f4  	vst1.32	{d20, d21, d22, d23}, [r0]!
4143836:      74: 8d 02 61 f4  	vld1.32	{d16, d17, d18, d19}, [r1]!
4143837:      78: 8d 42 61 f4  	vld1.32	{d20, d21, d22, d23}, [r1]!
4143841:      88: 8d 02 40 f4  	vst1.32	{d16, d17, d18, d19}, [r0]!
4143842:      8c: 8d 42 40 f4  	vst1.32	{d20, d21, d22, d23}, [r0]!
4143858:      cc: 8d 0a 61 f4  	vld1.32	{d16, d17}, [r1]!
4143859:      d0: 8d 0a 40 f4  	vst1.32	{d16, d17}, [r0]!
4203144:     1f8: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
4203145:     1fc: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
4203147:     204: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
4203148:     208: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
4203157:     222: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
4203158:     226: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!
4203329:     1e0: 61 f9 8d 02  	vld1.32	{d16, d17, d18, d19}, [r1]!
4203330:     1e4: 61 f9 8d 42  	vld1.32	{d20, d21, d22, d23}, [r1]!
4203332:     1ec: 40 f9 8d 02  	vst1.32	{d16, d17, d18, d19}, [r0]!
4203333:     1f0: 40 f9 8d 42  	vst1.32	{d20, d21, d22, d23}, [r0]!
4203342:     20a: 61 f9 8d 0a  	vld1.32	{d16, d17}, [r1]!
4203343:     20e: 40 f9 8d 0a  	vst1.32	{d16, d17}, [r0]!

Affected versions

r23

Canary version

No response

Host OS

Linux

Host OS version

Ubuntu 21.10

Affected ABIs

armeabi-v7a

Build system

Other (specify below)

Other build system

No response

minSdkVersion

n/a

Device API level

No response

@truboxl truboxl added the bug label Feb 19, 2022
@DanAlbert
Copy link
Member

Your scan is not clever enough to be accurate. libc.a uses ifuncs. The first d16 register use is in memmove_a15, which will not be called except on an a15 core, which has those registers.

libz.a does not use ifuncs and does not report anything with your scan. That's a pretty good indication that our build configuration is correct. All these libraries come from the same build, so that means the others are probably correct too.

There doesn't appear to be a bug here. If you're seeing SIGILLs, we'd need to know more about the crashes to figure out where the bad instructions are coming from.

@truboxl
Copy link
Author

truboxl commented Feb 26, 2022

Copied from https://en.cppreference.com/w/cpp/types/bad_typeid

#include <iostream>
#include <typeinfo>
 
struct S { // The type has to be polymorphic
    virtual void f();
}; 
 
int main()
{
    S* p = nullptr;
    try {
        [std::cout](http://en.cppreference.com/w/cpp/io/cout) << typeid(*p).name() << '\n';
    } catch(const std::bad_typeid& e) {
        [std::cout](http://en.cppreference.com/w/cpp/io/cout) << e.what() << '\n';
    }
}
arm-linux-androideabi-clang crash.cpp -o crash -march=armv7-a -mfpu=vfpv3-d16 -lc++_shared
adb push crash libc++_shared.so /data/local/tmp
adb shell
cd /data/local/tmp
LD_LIBRARY_PATH=. ./crash
WARNING: linker: /data/local/tmp/crash: unsupported flags DT_FLAGS_1=0x8000001
Illegal instruction
02-26 17:54:44.133 31921 31921 W linker  : /data/local/tmp/crash: unsupported flags DT_FLAGS_1=0x8000001
--------- beginning of crash
02-26 17:54:44.180 31921 31921 F libc    : Fatal signal 4 (SIGILL), code 1, fault addr 0xaab75a3c in tid 31921 (crash)
02-26 17:54:44.180   127   127 W         : debuggerd: handling request: pid=31921 uid=2000 gid=2000 tid=31921
02-26 17:54:44.189 31922 31922 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
02-26 17:54:44.189 31922 31922 F DEBUG   : Build fingerprint: 'samsung/GT-P7500/GT-P7500:4.0.4/IMM76D/XXLQ8:user/release-keys'
02-26 17:54:44.189 31922 31922 F DEBUG   : Revision: '14'
02-26 17:54:44.189 31922 31922 F DEBUG   : ABI: 'arm'
02-26 17:54:44.190 31922 31922 F DEBUG   : pid: 31921, tid: 31921, name: crash  >>> ./crash <<<
02-26 17:54:44.190 31922 31922 F DEBUG   : signal 4 (SIGILL), code 1 (ILL_ILLOPC), fault addr 0xaab75a3c
02-26 17:54:44.190 31922 31922 F DEBUG   :     r0 00000030  r1 be9447b8  r2 be9447b8  r3 aab86f50
02-26 17:54:44.190 31922 31922 F DEBUG   :     r4 be944630  r5 be9447b8  r6 00000000  r7 be944958
02-26 17:54:44.190 31922 31922 F DEBUG   :     r8 aab73b51  r9 00000000  sl 00000000  fp be944628
02-26 17:54:44.190 31922 31922 F DEBUG   :     ip aab80570  sp be944608  lr aab756e4  pc aab75a3c  cpsr 000f0010
02-26 17:54:44.208 31922 31922 F DEBUG   : 
02-26 17:54:44.208 31922 31922 F DEBUG   : backtrace:
02-26 17:54:44.208 31922 31922 F DEBUG   :     #00 pc 00089a3c  /data/local/tmp/libc++_shared.so (__unw_init_local+60)
02-26 17:54:44.209 31922 31922 F DEBUG   :     #01 pc 000896e0  /data/local/tmp/libc++_shared.so (_Unwind_RaiseException+48)
02-26 17:54:44.209 31922 31922 F DEBUG   :     #02 pc 0008540b  /data/local/tmp/libc++_shared.so (__cxa_throw+70)
02-26 17:54:44.209 31922 31922 F DEBUG   :     #03 pc 0007d46f  /data/local/tmp/libc++_shared.so (__cxa_bad_typeid+26)
02-26 17:54:44.209 31922 31922 F DEBUG   :     #04 pc 000001c0  /data/local/tmp/crash (offset 0x1000)
--------- beginning of system
02-26 17:54:44.281   489   609 W NativeCrashListener: Couldn't find ProcessRecord for pid 31921
02-26 17:54:44.281 31922 31922 E         : AM data write failed: Broken pipe
02-26 17:54:44.285   127   127 W         : debuggerd: resuming target 31921
02-26 17:54:44.285   127   127 E         : debuggerd: failed to send signal 18 to target: No such process
02-26 17:54:44.287   489   506 I BootReceiver: Copying /data/tombstones/tombstone_04 to DropBox (SYSTEM_TOMBSTONE)
02-26 17:54:44.449   736   746 I art     : Background sticky concurrent mark sweep GC freed 17773(1057KB) AllocSpace objects, 2(40KB) LOS objects, 11% free, 12MB/14MB, paused 3.978ms total 118.621ms
00089a00 <unw_init_local>:
   89a00: 70 4c 2d e9  	push	{r4, r5, r6, r10, r11, lr}
   89a04: 10 b0 8d e2  	add	r11, sp, #16
   89a08: 10 d0 4d e2  	sub	sp, sp, #16
   89a0c: d8 30 9f e5  	ldr	r3, [pc, #216]
   89a10: 00 40 a0 e1  	mov	r4, r0
   89a14: d4 00 9f e5  	ldr	r0, [pc, #212]
   89a18: 00 60 a0 e3  	mov	r6, #0
   89a1c: 03 30 8f e0  	add	r3, pc, r3
   89a20: 4a 60 c4 e5  	strb	r6, [r4, #74]
   89a24: 00 00 8f e0  	add	r0, pc, r0
   89a28: b8 64 c4 e1  	strh	r6, [r4, #72]
   89a2c: 08 20 80 e2  	add	r2, r0, #8
   89a30: f0 20 c4 e1  	strd	r2, r3, [r4]
   89a34: 30 00 a0 e3  	mov	r0, #48
   89a38: 01 20 a0 e1  	mov	r2, r1
   89a3c: 00 0a 62 f4  	vld1.8	{d16, d17}, [r2], r0
   89a40: 10 00 81 e2  	add	r0, r1, #16
   89a44: 0f 2a 60 f4  	vld1.8	{d18, d19}, [r0]

Note on 89a3c uses d16 and d17
Please ignore 4.0.4, the device is running custom ROM with Android 7.1.2

@DanAlbert DanAlbert reopened this Mar 2, 2022
@DanAlbert
Copy link
Member

Thanks. Having a function to track down makes this doable. That function I believe comes from the toolchain itself, so we'll need to look into fixing its build config. Need to make sure that is actually where it comes from in r23 first though (it definitely does in later releases, I just don't remember when we made the move and haven't checked the changelog yet).

@DanAlbert
Copy link
Member

Yes, r23 was the release where that library started coming from the toolchain, so presumably there's a bad build configuration there. We'll get that fixed and get a new build out.

@stephenhines
Copy link
Collaborator

https://android-review.googlesource.com/c/toolchain/llvm_android/+/2069721 should address getting this to build correctly for vfpv3-d16 devices. I don't have such a device to test with, but I will post the prebuilts here too for you to try once they're available.

@DanAlbert
Copy link
Member

Should be fixed in r23 build 8486889.

@truboxl
Copy link
Author

truboxl commented May 14, 2022

Should be fixed in r23 build 8486889.

Since #1715 is blocking, I can't test. Hopefully libunwind.a will be the ONLY thing that's missing vfpv3-d16. 😅

cyberknight777 pushed a commit to Neutron-Toolchains/aosp_llvm_android that referenced this issue May 30, 2022
armeabi-v7a libs should not use registers d16 to d31

NDK r23c will be the last NDK to support users setting -mfpu=vfpv3-d16
manually, so we need to build our runtime libraries this way one last
time. Future toolchains and NDKs can build things as NEON (or more
specifically as the default armv7a Android configuration).

Bug: android/ndk#1672
Test: ./build.py
Test: android/ndk#1672 (comment)
Change-Id: I3bd752cfee799ef1f139c6c9afbe07cdffab746a
MaoHan001 pushed a commit to riscv-android-src/platform-ndk that referenced this issue Jun 22, 2022
Changelog updates are in a separate commit to make cherry-picking to
master easier.

Bug: android/ndk#1590
Bug: android/ndk#1608
Bug: android/ndk#1619
Bug: android/ndk#1645
Bug: android/ndk#1672
Test: ./checkbuild.py && ./run_tests.py
Change-Id: Ie5571ed436cb0a3fe9ad675ed15f62fff4e978d6
(cherry picked from commit 59e8e507c2a2147c2bc806087c953dd36f6b1c41)
Merged-In: Ie5571ed436cb0a3fe9ad675ed15f62fff4e978d6
MaoHan001 pushed a commit to riscv-android-src/platform-ndk that referenced this issue Jun 22, 2022
Separate from the toolchain update to avoid merge conflicts.

Bug: android/ndk#1590
Bug: android/ndk#1608
Bug: android/ndk#1619
Bug: android/ndk#1645
Bug: android/ndk#1672
Test: None
Change-Id: I6e24e582dc0c300db173083009da9a1494360137
(cherry picked from commit 25ab62f84177b8f57782048a01a755c5730d6e6b)
Merged-In: I6e24e582dc0c300db173083009da9a1494360137
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants