As you know, Americans call a high class restaurant, bar, hotel or other places a "posh restaurant..." How do the Americans call a low class one?
Posh is an ironic word. Use it with great care if you don't wish to be misunderstood.
That said, the opposite of a high-class restaurant would be
a grease pit
a burger joint
a greasy spoon:
depending on what, exactly, you wish to convey.
The antonyms of posh can be found in the thesaurus. Oh, and any establishment can be safely called a dump.
To add to Ricky's comment:
[US] a small, often unpleasant, shop, house, or restaurant:
It's just a hole in the wall but the food is good.