mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			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"
 |