Lots of people use an epoxy paint on their concrete garage floors, so it
should stick well to concrete and stand up well, too.
The general rule is: You prime over bare materials (bare metal, bare
wood, bare drywall, etc.) and you paint over paint.
A "primer" improves adhesion of the top coat by increasing the surface
area it has to stick to. Primers do that by having huge rocks in them
called "extender pigments". Extender pigments are almost large enough
to see with the naked eye. As the paint film dries and the thinners
evaporate out of it, the film shrinks in thickness, and these huge rocks
leave "bumps" in the surface of the shrinking paint film, making the
surface of the primer "rough", and thereby creating creating more
surface area for the top coat to stick to. In that way, primers improve
adhesion of the top coat to the substrate.
However, with old bare concrete, the surface is already rough. So if
this was old concrete that had never been painted, there would be no
question that you can paint directly over it without a primer. However,
in your case, the surface porosity of your concrete may be largely
filled in with old paint, and not as rough as never-painted concrete.
How rough it is is really the question.
Probably the best way to test to see if you need to prime is to do a
tape test. Apply a few square inches of your paint directly onto what
now and give it time to fully dry or cure. Now, take a razor blade and
cut a checkerboard pattern into the paint. That is, 9 parallel lines
this way, and 9 perpendicular parallel lines that way. Now, take some
ordinary yellow 2 inch wide masking tape and press it tightly down over
your cut checkerboard pattern, and then quickly pull off the tape. The
more paint squares that come off the checkerboard with the tape, the
more you need to prime. This is how they actually test paint adhesion
in paint labs, and anything over 80% adhesion is considered "good