<div>
<div>
<div style="font-family: 'Segoe UI', system-ui, 'Apple Color Emoji', 'Segoe UI Emoji', sans-serif;">Greetings!</div>
<div>
<div style="font-family: 'Segoe UI', system-ui, 'Apple Color Emoji', 'Segoe UI Emoji', sans-serif;"> </div>
<div>
<div style="font-family: 'Segoe UI', system-ui, 'Apple Color Emoji', 'Segoe UI Emoji', sans-serif;"><br />We are trying to implement an .efi application that validates some ARM architecture instructions.<br /><br /></div>
<div>
<div style="font-family: 'Segoe UI', system-ui, 'Apple Color Emoji', 'Segoe UI Emoji', sans-serif;"> </div>
<div>
<div><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;">For this application, an assembly code was created, with the help of AsmMacroIoLibV8, present in edk2. The implementation can be seen below.</span><br /><br />
<blockquote>
<div><span style="font-family: 'times new roman', times;"><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;">#include <AsmMacroIoLibV8.h></span></span></div>
<div><span style="font-family: 'times new roman', times;"><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;"> </span></span></div>
<div><span style="font-family: 'times new roman', times;"><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;">.data</span></span></div>
<div><span style="font-family: 'times new roman', times;"><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;"> </span></span></div>
<div><span style="font-family: 'times new roman', times;"><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;">OneHundredSeventy: .word 0b0000000010101010</span></span></div>
<div><span style="font-family: 'times new roman', times;"><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;"> </span></span></div>
<div><span style="font-family: 'times new roman', times;"><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;">Filter32bit: .word 4294967295</span></span></div>
<div><span style="font-family: 'times new roman', times;"><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;"> </span></span></div>
<div><span style="font-family: 'times new roman', times;"><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;">.bss</span></span></div>
<div><span style="font-family: 'times new roman', times;"><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;"> </span></span></div>
<div><span style="font-family: 'times new roman', times;"><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;">EmptyVar: .space 64</span></span></div>
<div><span style="font-family: 'times new roman', times;"><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;"> </span></span></div>
<div><span style="font-family: 'times new roman', times;"><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;">.text</span></span></div>
<div><span style="font-family: 'times new roman', times;"><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;"> </span></span></div>
<div><span style="font-family: 'times new roman', times;"><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;">ASM_FUNC(SQXTNInstruction)</span></span></div>
<div><span style="font-family: 'times new roman', times;"><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;"> </span></span></div>
<div><span style="font-family: 'times new roman', times;"><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;">  ldr       x1,=OneHundredSeventy</span></span></div>
<div><span style="font-family: 'times new roman', times;"><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;">  ldr       x2,=EmptyVar</span></span></div>
<div><span style="font-family: 'times new roman', times;"><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;">  mov    x3,#2147483647</span></span></div>
<div><span style="font-family: 'times new roman', times;"><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;">  mov    x5,Filter32bit       // The error happens here</span></span></div>
<div><span style="font-family: 'times new roman', times;"><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;"> </span></span></div>
<div><span style="font-family: 'times new roman', times;"><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;">  LD1        {V0.16B},[x1]</span></span></div>
<div><span style="font-family: 'times new roman', times;"><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;">  SQXTN   V1.2S, V0.2D</span></span></div>
<div><span style="font-family: 'times new roman', times;"><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;">  MOV      x2,V1.D[0]</span></span></div>
<div><span style="font-family: 'times new roman', times;"><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;"> </span></span></div>
<div><span style="font-family: 'times new roman', times;"><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;">  and     x4,x2,x5</span></span></div>
<div><span style="font-family: 'times new roman', times;"><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;"> </span></span></div>
<div><span style="font-family: 'times new roman', times;"><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;">  cmp    x3,x4</span></span></div>
<div><span style="font-family: 'times new roman', times;"><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;">  b.ne    Error</span></span></div>
<div><span style="font-family: 'times new roman', times;"><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;">  b         End</span></span></div>
<div><span style="font-family: 'times new roman', times;"><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;"> </span></span></div>
<div><span style="font-family: 'times new roman', times;"><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;">Error:</span></span></div>
<div><span style="font-family: 'times new roman', times;"><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;">  mov x0,x4</span></span></div>
<div><span style="font-family: 'times new roman', times;"><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;">  ret</span></span></div>
<div><span style="font-family: 'times new roman', times;"><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;">End:</span></span></div>
<div><span style="font-family: 'times new roman', times;"><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;">  mov x0,#0</span></span></div>
<div><span style="font-family: 'times new roman', times;"><span style="font-family: Segoe UI, system-ui, Apple Color Emoji, Segoe UI Emoji, sans-serif;">  ret</span></span></div>
</blockquote>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div> </div>
<div>
<div style="font-family: 'Segoe UI', system-ui, 'Apple Color Emoji', 'Segoe UI Emoji', sans-serif;">
<div>When using the value defined for Filter32bit, as it is in the code, the return of this instruction is 1 (error). However, when directly loading the hardcoded value into register x5, the return is 0 (success).</div>
<div>
<div> </div>
<div>
<div><br />This behavior happened on a machine with a Snapdragon(TM) 8cx @ 2.84 GHz - QUALCOMM processor.<br /><br /></div>
<div>
<div> </div>
<div>
<div>We would like to know if there is any bug in the implementation or if there is an explanation for this behavior.</div>
<div>
<div><br />Best regards!<br />Gabriel.</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>


 <div width="1" style="color:white;clear:both">_._,_._,_</div> <hr>   Groups.io Links:<p>   You receive all messages sent to this group.    <p> <a target="_blank" href="https://edk2.groups.io/g/devel/message/77487">View/Reply Online (#77487)</a> |    |  <a target="_blank" href="https://groups.io/mt/83995859/1813853">Mute This Topic</a>  | <a href="https://edk2.groups.io/g/devel/post">New Topic</a><br>    <a href="https://edk2.groups.io/g/devel/editsub/1813853">Your Subscription</a> | <a href="mailto:devel+owner@edk2.groups.io">Contact Group Owner</a> |  <a href="https://edk2.groups.io/g/devel/unsub">Unsubscribe</a>  [edk2-devel-archive@redhat.com]<br> <div width="1" style="color:white;clear:both">_._,_._,_</div>