diff --git a/syntax/include/arm_directives.vim b/syntax/include/arm_directives.vim index b6727f0..044cde0 100644 --- a/syntax/include/arm_directives.vim +++ b/syntax/include/arm_directives.vim @@ -1,22 +1,24 @@ -syn match armDirective "\.arch_extension" -syn match armDirective "\.arm" -syn match armDirective "\.code" -syn match armDirective "\.dn" -syn match armDirective "\.eabi_attribute" -syn match armDirective "\.even" -syn match armDirective "\.extend" -syn match armDirective "\.force_thumb" -syn match armDirective "\.ldouble" -syn match armDirective "\.ltorg" -syn match armDirective "\.movsp" -syn match armDirective "\.object_arch" -syn match armDirective "\.personality\%(index\)\?" -syn match armDirective "\.pool" -syn match armDirective "\.qn" -syn match armDirective "\.setfp" -syn match armDirective "\.secrel32" -syn match armDirective "\.syntax" -syn match armDirective "\.thumb\%(_func\|_set\)\?" -syn match armDirective "\.tlsdescseq" -syn match armDirective "\.vsave" +syn keyword armDirective .arch_extension +syn keyword armDirective .arm +syn keyword armDirective .code +syn keyword armDirective .dn +syn keyword armDirective .eabi_attribute +syn keyword armDirective .even +syn keyword armDirective .extend +syn keyword armDirective .force_thumb +syn keyword armDirective .ldouble +syn keyword armDirective .ltorg +syn keyword armDirective .movsp +syn keyword armDirective .object_arch +syn keyword armDirective .personality +syn keyword armDirective .personalityindex +syn keyword armDirective .pool +syn keyword armDirective .qn +syn keyword armDirective .setfp +syn keyword armDirective .secrel32 +syn keyword armDirective .syntax +syn keyword armDirective .thumb_func +syn keyword armDirective .thumb_set +syn keyword armDirective .tlsdescseq +syn keyword armDirective .vsave diff --git a/syntax/include/gas_directives.vim b/syntax/include/gas_directives.vim index 1199b48..74e8b63 100644 --- a/syntax/include/gas_directives.vim +++ b/syntax/include/gas_directives.vim @@ -1,147 +1,148 @@ -syn match gasDirective "\.2byte" -syn match gasDirective "\.4byte" -syn match gasDirective "\.8byte" -syn match gasDirective "\.aent" -syn match gasDirective "\.abort" -syn match gasDirective "\.align" -syn match gasDirective "\.altmacro" -syn match gasDirective "\.arch" -syn match gasDirective "\.ascii" -syn match gasDirective "\.asciz" -syn match gasDirective "\.balign[wl]\?" -syn match gasDirective "\.bss" -syn match gasDirective "\.bundle_align" -syn match gasDirective "\.bundle_lock" -syn match gasDirective "\.bundle_unlock" -syn match gasDirective "\.byte" -syn match gasDirective "\.cantunwind" -syn match gasDirective "\.cfi_\%(sections\|startproc\|endproc\|personality\|lsda\|def_cfa\|def_cfa_register\|def_cfa_offset\|adjust_cfa_offset\|offset\|rel_offset\|register\|restore\|undefined\|same_value\|remember_state\|return_column\|signal_frame\|window_save\|escape\|val_encoded_addr\)" -syn match gasDirective "\.comm" -syn match gasDirective "\.cpadd" -syn match gasDirective "\.cpload" -syn match gasDirective "\.cplocal" -syn match gasDirective "\.cprestore" -syn match gasDirective "\.cpreturn" -syn match gasDirective "\.cpsetup" -syn match gasDirective "\.cpu" -syn match gasDirective "\.data" -syn match gasDirective "\.def" -syn match gasDirective "\.desc" -syn match gasDirective "\.dim" -syn match gasDirective "\.double" -syn match gasDirective "\.dword" -syn match gasDirective "\.dynsym" -syn match gasDirective "\.eject" -syn match gasDirective "\.else" -syn match gasDirective "\.elseif" -syn match gasDirective "\.end" -syn match gasDirective "\.endef" -syn match gasDirective "\.endfunc" -syn match gasDirective "\.endif" -syn match gasDirective "\.endm" -syn match gasDirective "\.endr" -syn match gasDirective "\.equ" -syn match gasDirective "\.equiv" -syn match gasDirective "\.eqv" -syn match gasDirective "\.err" -syn match gasDirective "\.error" -syn match gasDirective "\.exitm" -syn match gasDirective "\.extern" -syn match gasDirective "\.fail" -syn match gasDirective "\.file" -syn match gasDirective "\.fill" -syn match gasDirective "\.float" -syn match gasDirective "\.fmask" -syn match gasDirective "\.fnend" -syn match gasDirective "\.fnstart" -syn match gasDirective "\.fpu" -syn match gasDirective "\.frame" -syn match gasDirective "\.func" -syn match gasDirective "\.global" -syn match gasDirective "\.globl" -syn match gasDirective "\.gpvalue" -syn match gasDirective "\.gpword" -syn match gasDirective "\.gnu_attribute" -syn match gasDirective "\.handlerdata" -syn match gasDirective "\.hidden" -syn match gasDirective "\.hword" -syn match gasDirective "\.ident" -syn match gasDirective "\.if" -syn match gasDirective "\.incbin" -syn match gasDirective "\.include" -syn match gasDirective "\.inst\%(\.[nw]\)\?" -syn match gasDirective "\.int" -syn match gasDirective "\.internal" -syn match gasDirective "\.irp[c]" -syn match gasDirective "\.kdata" -syn match gasDirective "\.ktext" -syn match gasDirective "\.lab" -syn match gasDirective "\.lcomm" -syn match gasDirective "\.lflags" -syn match gasDirective "\.line" -syn match gasDirective "\.linkonce" -syn match gasDirective "\.list" -syn match gasDirective "\.ln" -syn match gasDirective "\.loc" -syn match gasDirective "\.loc_mark_labels" -syn match gasDirective "\.local" -syn match gasDirective "\.long" -syn match gasDirective "\.macro" -syn match gasDirective "\.mask" -syn match gasDirective "\.mri" -syn match gasDirective "\.noaltmacro" -syn match gasDirective "\.nolist" -syn match gasDirective "\.nop" -syn match gasDirective "\.octa" -syn match gasDirective "\.option" -syn match gasDirective "\.org" -syn match gasDirective "\.p2align[wl]\?" -syn match gasDirective "\.pad" -syn match gasDirective "\.popsection" -syn match gasDirective "\.previous" -syn match gasDirective "\.print" -syn match gasDirective "\.protected" -syn match gasDirective "\.psize" -syn match gasDirective "\.purgem" -syn match gasDirective "\.pushsection" -syn match gasDirective "\.quad" -syn match gasDirective "\.rdata" -syn match gasDirective "\.reloc" -syn match gasDirective "\.rept" -syn match gasDirective "\.repeat" -syn match gasDirective "\.req" -syn match gasDirective "\.save" -syn match gasDirective "\.sbttl" -syn match gasDirective "\.scl" -syn match gasDirective "\.sdata" -syn match gasDirective "\.section" -syn match gasDirective "\.set" -syn match gasDirective "\.short" -syn match gasDirective "\.single" -syn match gasDirective "\.size" -syn match gasDirective "\.skip" -syn match gasDirective "\.sleb128" -syn match gasDirective "\.space" -syn match gasDirective "\.stab[dns]" -syn match gasDirective "\.string" -syn match gasDirective "\.struct" -syn match gasDirective "\.subsection" -syn match gasDirective "\.symver" -syn match gasDirective "\.tag" -syn match gasDirective "\.text" -syn match gasDirective "\.title" -syn match gasDirective "\.type" -syn match gasDirective "\.uleb128" -syn match gasDirective "\.unreq" -syn match gasDirective "\.unwind_raw" -syn match gasDirective "\.val" -syn match gasDirective "\.version" -syn match gasDirective "\.verstamp" -syn match gasDirective "\.vtable_entry" -syn match gasDirective "\.vtable_inherit" -syn match gasDirective "\.warning" -syn match gasDirective "\.weak" -syn match gasDirective "\.weakext" -syn match gasDirective "\.weakref" -syn match gasDirective "\.word" +syn keyword gasDirective .2byte +syn keyword gasDirective .4byte +syn keyword gasDirective .8byte +syn keyword gasDirective .aent +syn keyword gasDirective .abort +syn keyword gasDirective .align +syn keyword gasDirective .altmacro +syn keyword gasDirective .arch +syn keyword gasDirective .ascii +syn keyword gasDirective .asciz +syn match gasDirective "\.balign[wl]\?" +syn keyword gasDirective .bss +syn keyword gasDirective .bundle_align +syn keyword gasDirective .bundle_lock +syn keyword gasDirective .bundle_unlock +syn keyword gasDirective .byte +syn keyword gasDirective .cantunwind +syn match gasDirective "\.cfi_\%(sections\|startproc\|endproc\|personality\|lsda\|def_cfa\|def_cfa_register\|def_cfa_offset\|adjust_cfa_offset\|offset\|rel_offset\|register\|restore\|undefined\|same_value\|remember_state\|return_column\|signal_frame\|window_save\|escape\|val_encoded_addr\)" +syn keyword gasDirective .comm +syn keyword gasDirective .cpadd +syn keyword gasDirective .cpload +syn keyword gasDirective .cplocal +syn keyword gasDirective .cprestore +syn keyword gasDirective .cpreturn +syn keyword gasDirective .cpsetup +syn keyword gasDirective .cpu +syn keyword gasDirective .data +syn keyword gasDirective .def +syn keyword gasDirective .desc +syn keyword gasDirective .dim +syn keyword gasDirective .double +syn keyword gasDirective .dword +syn keyword gasDirective .dynsym +syn keyword gasDirective .eject +syn keyword gasDirective .else +syn keyword gasDirective .elseif +syn keyword gasDirective .end +syn keyword gasDirective .endef +syn keyword gasDirective .endfunc +syn keyword gasDirective .endif +syn keyword gasDirective .endm +syn keyword gasDirective .endr +syn keyword gasDirective .equ +syn keyword gasDirective .equiv +syn keyword gasDirective .eqv +syn keyword gasDirective .err +syn keyword gasDirective .error +syn keyword gasDirective .exitm +syn keyword gasDirective .extern +syn keyword gasDirective .fail +syn keyword gasDirective .file +syn keyword gasDirective .fill +syn keyword gasDirective .float +syn keyword gasDirective .fmask +syn keyword gasDirective .fnend +syn keyword gasDirective .fnstart +syn keyword gasDirective .fpu +syn keyword gasDirective .frame +syn keyword gasDirective .func +syn keyword gasDirective .global +syn keyword gasDirective .globl +syn keyword gasDirective .gpvalue +syn keyword gasDirective .gpword +syn keyword gasDirective .gnu_attribute +syn keyword gasDirective .handlerdata +syn keyword gasDirective .hidden +syn keyword gasDirective .hword +syn keyword gasDirective .ident +syn match gasDirective "\.if\%(def\|b\|c\|eq\|eqs\|ge\|gt\|le\|lt\|nb\|nc\|ndef\|notdef\|ne\|nes\)" +syn keyword gasDirective .incbin +syn keyword gasDirective .include +syn match gasDirective "\.inst\%(\.[nw]\)\?" +syn keyword gasDirective .int +syn keyword gasDirective .internal +syn keyword gasDirective .irp +syn keyword gasDirective .irpc +syn keyword gasDirective .kdata +syn keyword gasDirective .ktext +syn keyword gasDirective .lab +syn keyword gasDirective .lcomm +syn keyword gasDirective .lflags +syn keyword gasDirective .line +syn keyword gasDirective .linkonce +syn keyword gasDirective .list +syn keyword gasDirective .ln +syn keyword gasDirective .loc +syn keyword gasDirective .loc_mark_labels +syn keyword gasDirective .local +syn keyword gasDirective .long +syn keyword gasDirective .macro +syn keyword gasDirective .mask +syn keyword gasDirective .mri +syn keyword gasDirective .noaltmacro +syn keyword gasDirective .nolist +syn keyword gasDirective .nop +syn keyword gasDirective .octa +syn keyword gasDirective .option +syn keyword gasDirective .org +syn match gasDirective "\.p2align[wl]\?" +syn keyword gasDirective .pad +syn keyword gasDirective .popsection +syn keyword gasDirective .previous +syn keyword gasDirective .print +syn keyword gasDirective .protected +syn keyword gasDirective .psize +syn keyword gasDirective .purgem +syn keyword gasDirective .pushsection +syn keyword gasDirective .quad +syn keyword gasDirective .rdata +syn keyword gasDirective .reloc +syn keyword gasDirective .rept +syn keyword gasDirective .repeat +syn keyword gasDirective .req +syn keyword gasDirective .save +syn keyword gasDirective .sbttl +syn keyword gasDirective .scl +syn keyword gasDirective .sdata +syn keyword gasDirective .section +syn keyword gasDirective .set +syn keyword gasDirective .short +syn keyword gasDirective .single +syn keyword gasDirective .size +syn keyword gasDirective .skip +syn keyword gasDirective .sleb128 +syn keyword gasDirective .space +syn match gasDirective "\.stab[dns]" +syn keyword gasDirective .string +syn keyword gasDirective .struct +syn keyword gasDirective .subsection +syn keyword gasDirective .symver +syn keyword gasDirective .tag +syn keyword gasDirective .text +syn keyword gasDirective .title +syn keyword gasDirective .type +syn keyword gasDirective .uleb128 +syn keyword gasDirective .unreq +syn keyword gasDirective .unwind_raw +syn keyword gasDirective .val +syn keyword gasDirective .version +syn keyword gasDirective .verstamp +syn keyword gasDirective .vtable_entry +syn keyword gasDirective .vtable_inherit +syn keyword gasDirective .warning +syn keyword gasDirective .weak +syn keyword gasDirective .weakext +syn keyword gasDirective .weakref +syn keyword gasDirective .word diff --git a/test/armv7-test.s b/test/armv7-test.s index 55ca403..ce1b7c2 100644 --- a/test/armv7-test.s +++ b/test/armv7-test.s @@ -34,6 +34,9 @@ fdivs vdiv vsqrt +vadd.i8 d12, d16, d31 +vmull.s32 q2, d5, D6 + .float .01, 3.14159 @ illegal