Linux MIPS Architecture development
 help / color / mirror / Atom feed
* Assembly macro with parameters
@ 2005-04-07 17:53 Fabrizio Fazzino
  2005-04-07 18:25 ` Ralf Baechle
  0 siblings, 1 reply; 11+ messages in thread
From: Fabrizio Fazzino @ 2005-04-07 17:53 UTC (permalink / raw)
  To: linux-mips

Hi all,
I'm working to an hardware extension of the MIPS32 instruction set
and I need to convert my new instruction into an existing opcode
to make it possible for the normal GCC to correctly compile the code.

Just to be clear, to obtain my new FZMIN instruction like

	FZMIN $rd, $rs, $rt

I have to convert it into

	LWC1 $rt, rd<<11 ($rs)

that is an existing (in some cases unused) opcode.

I'm currently using hardcoded values for the parameters, so
fzmin(10,8,9) will be transformed into
	asm("lwc1 $9, 10<<11($8)" : : : "$10");

It works, but I need a way to set the values of the parameters
at runtime; so I've tried the following macro:

	#define fzmin(rd, rs, rt) asm("lwc1 $rt, rd<<11($rs)");

As you can imagine I'm not an expert of MIPS Assembly macros:
what I've written does NOT work since the values of rd,rs,rt
are NOT substituted inside the asm string.

Is there any way to do what I need? I would appreciate your
help very much.

Cheers,
	Fabrizio


-- 
============================================
    Fabrizio Fazzino - fabrizio@fazzino.it
      Fazzino.IT - http://www.fazzino.it
============================================

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2005-07-09  7:21 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-04-07 17:53 Assembly macro with parameters Fabrizio Fazzino
2005-04-07 18:25 ` Ralf Baechle
2005-04-08 16:47   ` Fabrizio Fazzino
2005-04-08 16:57     ` Daniel Jacobowitz
2005-06-30 17:20       ` Fabrizio Fazzino
2005-06-30 17:32         ` David Daney
2005-07-01  8:38         ` Maciej W. Rozycki
2005-07-03 10:31           ` Fabrizio Fazzino
2005-07-04  7:40             ` Geert Uytterhoeven
2005-07-04 12:12             ` Maciej W. Rozycki
2005-07-09  7:22               ` Fabrizio Fazzino

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox