forked from OSchip/llvm-project
[ms] [llvm-ml] Add missing built-in type aliases
Add signed aliases for integral types, as well as the "DF" abbreviation for the FWORD type. Reviewed By: thakis Differential Revision: https://reviews.llvm.org/D87246
This commit is contained in:
parent
cfff88c03c
commit
da17e0d5c1
|
@ -623,6 +623,7 @@ private:
|
|||
DK_SQWORD,
|
||||
DK_DB,
|
||||
DK_DD,
|
||||
DK_DF,
|
||||
DK_DQ,
|
||||
DK_DW,
|
||||
DK_REAL4,
|
||||
|
@ -2114,6 +2115,7 @@ bool MasmParser::parseStatement(ParseStatementInfo &Info,
|
|||
case DK_DD:
|
||||
return parseDirectiveValue(IDVal, 4);
|
||||
case DK_FWORD:
|
||||
case DK_DF:
|
||||
return parseDirectiveValue(IDVal, 6);
|
||||
case DK_QWORD:
|
||||
case DK_SQWORD:
|
||||
|
@ -2325,21 +2327,26 @@ bool MasmParser::parseStatement(ParseStatementInfo &Info,
|
|||
Lex();
|
||||
return parseDirectiveEquate(nextVal, IDVal, DirKind);
|
||||
case DK_BYTE:
|
||||
case DK_SBYTE:
|
||||
case DK_DB:
|
||||
Lex();
|
||||
return parseDirectiveNamedValue(nextVal, 1, IDVal, IDLoc);
|
||||
case DK_WORD:
|
||||
case DK_SWORD:
|
||||
case DK_DW:
|
||||
Lex();
|
||||
return parseDirectiveNamedValue(nextVal, 2, IDVal, IDLoc);
|
||||
case DK_DWORD:
|
||||
case DK_SDWORD:
|
||||
case DK_DD:
|
||||
Lex();
|
||||
return parseDirectiveNamedValue(nextVal, 4, IDVal, IDLoc);
|
||||
case DK_FWORD:
|
||||
case DK_DF:
|
||||
Lex();
|
||||
return parseDirectiveNamedValue(nextVal, 6, IDVal, IDLoc);
|
||||
case DK_QWORD:
|
||||
case DK_SQWORD:
|
||||
case DK_DQ:
|
||||
Lex();
|
||||
return parseDirectiveNamedValue(nextVal, 8, IDVal, IDLoc);
|
||||
|
@ -6284,6 +6291,7 @@ void MasmParser::initializeDirectiveKindMap() {
|
|||
// DirectiveKindMap[".noaltmacro"] = DK_NOALTMACRO;
|
||||
DirectiveKindMap["db"] = DK_DB;
|
||||
DirectiveKindMap["dd"] = DK_DD;
|
||||
DirectiveKindMap["df"] = DK_DF;
|
||||
DirectiveKindMap["dq"] = DK_DQ;
|
||||
DirectiveKindMap["dw"] = DK_DW;
|
||||
DirectiveKindMap["echo"] = DK_ECHO;
|
||||
|
|
|
@ -0,0 +1,77 @@
|
|||
# RUN: llvm-ml -filetype=asm %s | FileCheck %s
|
||||
|
||||
.data
|
||||
|
||||
t1_long BYTE 1
|
||||
t1_short DB 1
|
||||
t1_signed SBYTE -1
|
||||
|
||||
; CHECK-LABEL: t1_long:
|
||||
; CHECK: .byte 1
|
||||
; CHECK-LABEL: t1_short:
|
||||
; CHECK: .byte 1
|
||||
; CHECK-LABEL: t1_signed:
|
||||
; CHECK: .byte -1
|
||||
|
||||
t2_long WORD 2
|
||||
t2_short DW 2
|
||||
t2_signed SWORD -2
|
||||
|
||||
; CHECK-LABEL: t2_long:
|
||||
; CHECK: .short 2
|
||||
; CHECK-LABEL: t2_short:
|
||||
; CHECK: .short 2
|
||||
; CHECK-LABEL: t2_signed:
|
||||
; CHECK: .short -2
|
||||
|
||||
t3_long DWORD 3
|
||||
t3_short DD 3
|
||||
t3_signed SDWORD -3
|
||||
|
||||
; CHECK-LABEL: t3_long:
|
||||
; CHECK: .long 3
|
||||
; CHECK-LABEL: t3_short:
|
||||
; CHECK: .long 3
|
||||
; CHECK-LABEL: t3_signed:
|
||||
; CHECK: .long -3
|
||||
|
||||
t4_long FWORD 4
|
||||
t4_short DF 4
|
||||
t4_long_large FWORD 4294967298
|
||||
t4_short_large FWORD 4294967298
|
||||
|
||||
; CHECK-LABEL: t4_long:
|
||||
; CHECK-NEXT: .long 4
|
||||
; CHECK-NEXT: .short 0
|
||||
; CHECK-LABEL: t4_short:
|
||||
; CHECK-NEXT: .long 4
|
||||
; CHECK-NEXT: .short 0
|
||||
; CHECK-LABEL: t4_long_large:
|
||||
; CHECK-NEXT: .long 2
|
||||
; CHECK-NEXT: .short 1
|
||||
; CHECK-LABEL: t4_short_large:
|
||||
; CHECK-NEXT: .long 2
|
||||
; CHECK-NEXT: .short 1
|
||||
|
||||
t5_long QWORD 4611686018427387904
|
||||
t5_short DQ 4611686018427387904
|
||||
t5_signed SQWORD -4611686018427387904
|
||||
|
||||
; CHECK-LABEL: t5_long:
|
||||
; CHECK-NEXT: .quad 4611686018427387904
|
||||
; CHECK-LABEL: t5_short:
|
||||
; CHECK-NEXT: .quad 4611686018427387904
|
||||
; CHECK-LABEL: t5_signed:
|
||||
; CHECK-NEXT: .quad -4611686018427387904
|
||||
|
||||
t6_single REAL4 1.3
|
||||
t6_double REAL8 1.3
|
||||
|
||||
; CHECK-LABEL: t6_single:
|
||||
; CHECK-NEXT: .long 1067869798
|
||||
; CHECK-LABEL: t6_double:
|
||||
; CHECK-NEXT: .quad 4608533498688228557
|
||||
|
||||
.code
|
||||
|
||||
END
|
Loading…
Reference in New Issue