Browse Source

* fixed taarch64abi.pp so it doens't rely on undefined behaviour between the
end of an inline assembly block and the end of a routine

git-svn-id: trunk@41651 -

Jonas Maebe 6 năm trước cách đây
mục cha
commit
cb5b407e89
1 tập tin đã thay đổi với 18 bổ sung24 xóa
  1. 18 24
      tests/test/taarch64abi.pp

+ 18 - 24
tests/test/taarch64abi.pp

@@ -23,34 +23,28 @@ begin
     Halt(3);
 end;
 
-function RetByte: byte;
-var
-  q: qword;
-begin
-  q:=$1111111112345678;
-  asm
-    ldr x0,q
-  end;
+function RetByte: byte; assembler;
+asm
+  movz    x0,#22136
+  movk    x0,#4660,lsl #16
+  movk    x0,#4369,lsl #32
+  movk    x0,#4369,lsl #48
 end;
 
-function RetWord: word;
-var
-  q: qword;
-begin
-  q:=$1111111112345678;
-  asm
-    ldr x0,q
-  end;
+function RetWord: word; assembler;
+asm
+  movz    x0,#22136
+  movk    x0,#4660,lsl #16
+  movk    x0,#4369,lsl #32
+  movk    x0,#4369,lsl #48
 end;
 
-function RetDWord: dword;
-var
-  q: qword;
-begin
-  q:=$1111111112345678;
-  asm
-    ldr x0,q
-  end;
+function RetDWord: dword; assembler;
+asm
+  movz    x0,#22136
+  movk    x0,#4660,lsl #16
+  movk    x0,#4369,lsl #32
+  movk    x0,#4369,lsl #48
 end;
 
 procedure TestParams;