Can someone explain to me why "tu m'aurais donné des fleurs" is correct but "tu m'aurais pu donner des fleurs" is not? Whats the grammar rule behind that? I know the correct form is "tu aurais pu me donner" but I don't know why the former is incorrect.
tu m'aurais donné des fleures = "You would've given me flowers"
tu m'aurais pu donner des fleures = "You could've me to give flowers"
Basically, you have me in the wrong place. The problematic phrase here is tu m'aurais pu, meaning roughly "You would've been able to me", which doesn't make sense. Pouvoir can't take an object like this - but donner can. The thing tu is doing - or could've done - to me isn't "being able to", it's "giving". This doesn't come as a problem in the first sentence since there's no pouvoir to get in the way.
Perhaps someone else can explain this in a more grammatically rigorous way.
If I'm not mistaken "Tu m'aurais pu donner" hearkens back to a French of Molière's day. The rule is that the object pronoun now precedes the verb of which it is the object. Me being the object of donner, not pouvoir, it belongs in front of donner.
In the first sentence, you have a compound tense structure, so you can put the indirect object first. In the second sentence, you have a compound tense combined with a dual verb construction. In the latter construction, the indirect object is placed between the verbs. This rule overrides the rule about usage of indirect object in a compound tense structure.
My problem is I have never learned French grammar and yet I have a high level of French because I learn by listening to a ton of podcasts in French, the radio, the TV, etc. I did a TCF test from past years online and the results were between C1 and C2 and yet I sometimes still make stupid grammatical mistakes. What has helped me a lot is using French on Duolingo to learn German and Italian! When translating sentences from German or Italian to French and helps me to see where I make errors in French and why it's an error and yet I don't know the rules.
I believe that is called "laddering" on Duolingo. I have to give it a try. :)
In French, object pronouns will not go in front of a past participle, so the second best place for them to go would be in front of the auxiliary (avoir or être) in a compound tense. However, if there is an infinitive verb after the conjugated auxiliary verb in a compound tense, the object pronouns will gladly take the opportunity to go in front of the infinitive verb. Also, you don't say "you would have been able to me to give flowers", you say "you would have been able to give flowers to me" or "you would have been able to give me flowers".
Just an additional note to correct the quotations of the initial post: "fleur" (and "fleurs" in plural) does not take an extra "e" at the end.