mirror of
https://github.com/autc04/Retro68.git
synced 2024-11-19 18:46:30 +00:00
78 lines
3.9 KiB
VimL
78 lines
3.9 KiB
VimL
|
" Syntax highlighting rules for RTL dump files (for Vim).
|
||
|
"
|
||
|
" Copyright (C) 2018 Free Software Foundation, Inc.
|
||
|
"
|
||
|
" This script is free software; you can redistribute it and/or modify
|
||
|
" it under the terms of the GNU General Public License as published by
|
||
|
" the Free Software Foundation; either version 3, or (at your option)
|
||
|
" any later version
|
||
|
|
||
|
|
||
|
" Do not continue, if syntax is already enabled in current buffer.
|
||
|
if exists("b:current_syntax")
|
||
|
finish
|
||
|
endif
|
||
|
|
||
|
" General-purpose comments.
|
||
|
syn match rtlComment ";;.*$"
|
||
|
|
||
|
syn keyword rtlInstruction debug_expr insn_list int_list sequence
|
||
|
\ address debug_insn insn expr_list
|
||
|
\ jump_table_data barrier code_label
|
||
|
\ cond_exec parallel asm_input asm_operands
|
||
|
\ unspec unspec_volatile addr_vec
|
||
|
\ addr_diff_vec prefetch set use clobber
|
||
|
\ call return simple_return eh_return
|
||
|
\ trap_if scratch strict_low_part concat concatn
|
||
|
\ mem label_ref symbol_ref cc0 compare plus minus
|
||
|
\ neg mult ss_mult us_mult div ss_div us_div mod
|
||
|
\ udiv umod and ior xor not ashift rotate ashiftrt
|
||
|
\ lshiftrt rotatert smin smax umin umax pre_dec
|
||
|
\ pre_inc post_dec post_inc pre_modify post_modify
|
||
|
\ unordered ordered uneq unge ungt unle unlt ltgt sign_extend
|
||
|
\ zero_extend truncate float_extend float_truncate
|
||
|
\ float fix unsigned_float unsigned_fix fract_convert
|
||
|
\ unsigned_fract_convert sat_fract unsigned_sat_fract
|
||
|
\ abs sqrt bswap ffs clrsb clz ctz popcount parity
|
||
|
\ sign_extract zero_extract high lo_sum vec_merge
|
||
|
\ vec_select vec_concat vec_duplicate vec_series ss_plus
|
||
|
\ us_plus ss_minus ss_neg us_neg ss_abs ss_ashift
|
||
|
\ us_ashift us_minus ss_truncate us_truncate fma
|
||
|
\ entry_value exclusion_set presence_set final_presence_set
|
||
|
\ absence_set final_absence_set automata_option attr set_attr
|
||
|
\ set_attr_alternative eq_attr eq_attr_alt attr_flag cond
|
||
|
syn keyword rtlConditional call_insn jump_insn if_then_else
|
||
|
\ eq ne gt gtu lt ltu ge geu le leu
|
||
|
syn keyword rtlNote note barrier code_label
|
||
|
syn keyword rtlVariableLoation var_location
|
||
|
syn keyword rtlPcRegister pc
|
||
|
|
||
|
syn keyword rtlModes VOID BLK BI QI HI SI DI TI SF DF CC QQ HQ SQ
|
||
|
\ DQ TQ UQQ UHQ USQ UDQ UTQ HA SA DA TA UHA
|
||
|
\ USA UDA UTA SD DD TD
|
||
|
|
||
|
" String literals
|
||
|
syn region rtlString start=/\v"/ skip=/\v\\./ end=/\v"/
|
||
|
|
||
|
syn match rtlNoteInsn "NOTE_INSN_[A-Z_]*"
|
||
|
syn match rtlIntegerConstant "\vconst_int -?\d+"
|
||
|
syn match rtlFloatConstant "\vconst_double:[A-Z]+ -?\d*\.\d+(e\+\d+)?"
|
||
|
syn match rtlRegister "\vreg(\/[a-z])?:[A-Z0-9]+ \d+ [a-z0-9]+"
|
||
|
syn match rtlLocation /\v"[^"]*":\d+/
|
||
|
|
||
|
hi def link rtlInstruction Statement
|
||
|
hi def link rtlConditional Conditional
|
||
|
hi def link rtlNote Debug
|
||
|
hi def link rtlNoteInsn Debug
|
||
|
hi def link rtlIntegerConstant Number
|
||
|
hi def link rtlFloatConstant Number
|
||
|
hi def link rtlRegister Type
|
||
|
hi def link rtlPcRegister Type
|
||
|
hi def link rtlModes Type
|
||
|
hi def link rtlVariableLoation Debug
|
||
|
hi def link rtlComment Comment
|
||
|
hi def link rtlLocation Debug
|
||
|
hi def link rtlString String
|
||
|
|
||
|
let b:current_syntax = "gcc-rtl"
|