@@ -214,68 +214,6 @@ fn define_control_flow(
214214 TypeSetBuilder :: new ( ) . ints ( 32 ..64 ) . refs ( 32 ..64 ) . build ( ) ,
215215 ) ;
216216
217- {
218- let x = & Operand :: new ( "x" , iAddr) . with_doc ( "index into jump table" ) ;
219- let addr = & Operand :: new ( "addr" , iAddr) ;
220- let Size = & Operand :: new ( "Size" , & imm. uimm8 ) . with_doc ( "Size in bytes" ) ;
221- let JT = & Operand :: new ( "JT" , & entities. jump_table ) ;
222- let entry = & Operand :: new ( "entry" , iAddr) . with_doc ( "entry of jump table" ) ;
223-
224- ig. push (
225- Inst :: new (
226- "jump_table_entry" ,
227- r#"
228- Get an entry from a jump table.
229-
230- Load a serialized ``entry`` from a jump table ``JT`` at a given index
231- ``addr`` with a specific ``Size``. The retrieved entry may need to be
232- decoded after loading, depending upon the jump table type used.
233-
234- Currently, the only type supported is entries which are relative to the
235- base of the jump table.
236- "# ,
237- & formats. branch_table_entry ,
238- )
239- . operands_in ( vec ! [ x, addr, Size , JT ] )
240- . operands_out ( vec ! [ entry] )
241- . can_load ( true ) ,
242- ) ;
243-
244- ig. push (
245- Inst :: new (
246- "jump_table_base" ,
247- r#"
248- Get the absolute base address of a jump table.
249-
250- This is used for jump tables wherein the entries are stored relative to
251- the base of jump table. In order to use these, generated code should first
252- load an entry using ``jump_table_entry``, then use this instruction to add
253- the relative base back to it.
254- "# ,
255- & formats. branch_table_base ,
256- )
257- . operands_in ( vec ! [ JT ] )
258- . operands_out ( vec ! [ addr] ) ,
259- ) ;
260-
261- ig. push (
262- Inst :: new (
263- "indirect_jump_table_br" ,
264- r#"
265- Branch indirectly via a jump table entry.
266-
267- Unconditionally jump via a jump table entry that was previously loaded
268- with the ``jump_table_entry`` instruction.
269- "# ,
270- & formats. indirect_jump ,
271- )
272- . operands_in ( vec ! [ addr, JT ] )
273- . is_indirect_branch ( true )
274- . is_terminator ( true )
275- . is_branch ( true ) ,
276- ) ;
277- }
278-
279217 ig. push (
280218 Inst :: new (
281219 "debugtrap" ,
0 commit comments