68 lines · plain
1; RUN: llvm-ml64 -filetype=s %s /Fo - | FileCheck %s2 3.data4 5FOO STRUCT6 a BYTE ?7 b BYTE ?8 c BYTE ?9 d BYTE ?10FOO ENDS11 12BAR STRUCT13 e WORD ?14 f WORD ?15BAR ENDS16 17var FOO <>18 19.code20 21t1:22mov al, var.a23mov al, var. b24mov al, var .c25mov al, var . d26 27; CHECK-LABEL: t1:28; CHECK: mov al, byte ptr [rip + var]29; CHECK: mov al, byte ptr [rip + var+1]30; CHECK: mov al, byte ptr [rip + var+2]31; CHECK: mov al, byte ptr [rip + var+3]32 33t2:34mov eax, FOO.a35mov ax, FOO. b36mov al, FOO .c37mov eax, FOO . d38 39; CHECK-LABEL: t2:40; CHECK: mov eax, 041; CHECK: mov ax, 142; CHECK: mov al, 243; CHECK: mov eax, 344 45t3:46mov al, BYTE PTR var[FOO.c]47 48; CHECK-LABEL: t3:49; CHECK: mov al, byte ptr [rip + var+2]50 51t4:52mov ax, var.BAR.f53mov ax, var .BAR.f54mov ax, var. BAR.f55mov ax, var.BAR .f56mov ax, var.BAR. f57mov ax, var . BAR . f58 59; CHECK-LABEL: t4:60; CHECK: mov ax, word ptr [rip + var+2]61; CHECK: mov ax, word ptr [rip + var+2]62; CHECK: mov ax, word ptr [rip + var+2]63; CHECK: mov ax, word ptr [rip + var+2]64; CHECK: mov ax, word ptr [rip + var+2]65; CHECK: mov ax, word ptr [rip + var+2]66 67END68