106 lines · plain
1; RUN: llvm-ml64 -filetype=s %s /Fo - | FileCheck %s2 3.data4 5a BYTE ?6 7.code8 9repeat_test PROC10; CHECK-LABEL: repeat_test:11 REPEAT 1+212 xor eax, 013 ENDM14; CHECK: xor eax, 015; CHECK: xor eax, 016; CHECK: xor eax, 017; CHECK-NOT: xor eax, 018repeat_test ENDP19 20while_test PROC21; CHECK-LABEL: while_test:22 C = 123 WHILE C <= 324 xor eax, C25 C = C + 126 ENDM27; CHECK: xor eax, 128; CHECK: xor eax, 229; CHECK: xor eax, 330; CHECK-NOT: xor eax,31while_test ENDP32 33for_test PROC34; CHECK-LABEL: for_test:35 FOR arg, <'O', 'K', 13, 10>36 mov al, arg37 ENDM38; CHECK: mov al, 7939; CHECK: mov al, 7540; CHECK: mov al, 1341; CHECK: mov al, 1042; CHECK-NOT: mov al,43for_test ENDP44 45for_without_substitution_test PROC46; CHECK-LABEL: for_without_substitution_test:47 FOR a, <'O', 'K', 13, 10>48 mov al, 'a'49 ENDM50; CHECK: mov al, 9751; CHECK: mov al, 9752; CHECK: mov al, 9753; CHECK: mov al, 9754; CHECK-NOT: mov al,55for_without_substitution_test ENDP56 57for_with_default_test PROC58; CHECK-LABEL: for_with_default_test:59 FOR arg:=<'K'>, <'O', ,, 13,>60 mov al, arg61 ENDM62; CHECK: mov al, 7963; CHECK: mov al, 7564; CHECK: mov al, 7565; CHECK: mov al, 1366; CHECK: mov al, 7567; CHECK-NOT: mov al,68for_with_default_test ENDP69 70forc_test PROC71; CHECK-LABEL: forc_test:72 FORC arg, <OK>73 mov al, "&arg"74 ENDM75; CHECK: mov al, 7976; CHECK: mov al, 7577; CHECK-NOT: mov al,78forc_test ENDP79 80forc_improper_test PROC81; CHECK-LABEL: forc_improper_test:82 FORC arg, A-; OK83 mov al, "&arg"84 ENDM85; CHECK: mov al, 6586; CHECK: mov al, 4587; CHECK: mov al, 5988; CHECK-NOT: mov al,89forc_improper_test ENDP90 91nested_substitution_test PROC92; CHECK-LABEL: nested_substitution_test:93 FOR s, <A-, OK>94 FORC c, <s>95 mov al, '&c'96 ENDM97 ENDM98; CHECK: mov al, 6599; CHECK: mov al, 45100; CHECK: mov al, 79101; CHECK: mov al, 75102; CHECK-NOT: mov al,103nested_substitution_test ENDP104 105end106